Hướng dẫn remove prefix mysql - loại bỏ tiền tố mysql
Tất cả các bảng trong cơ sở dữ liệu 4 cụ thể, ví dụ 5, bắt đầu với một tiền tố mà độ dài của nó là ký tự 6. Tôi muốn xóa tiền tố khỏi tên của tất cả các bảng. Làm thế nào tôi có thể làm điều này?Đã hỏi ngày 27 tháng 3 năm 2021 lúc 5:09Mar 27, 2021 at 5:09
Hasanghaforianhasanghaforianhasanghaforian 13.6K9 Huy hiệu vàng74 Huy hiệu bạc161 Huy hiệu đồng9 gold badges74 silver badges161 bronze badges Cải thiện câu trả lời của Hasanghaforian ... đã loại bỏ các chức năng liên kết bổ sung .. vẫn tạo ra đầu ra giống nhau
Đã trả lời ngày 27 tháng 3 năm 2021 lúc 5:24Mar 27, 2021 at 5:24
Tôi đã thêm 7 vào câu lệnh được mô tả ở đây để nhận câu lệnh đổi tên tất cả các bảng trong cơ sở dữ liệu 5, thay vì đổi tên tất cả các bảng của tất cả các cơ sở dữ liệu trong phiên bản MYSQL Server:
Hãy chú ý rằng độ dài của tiền tố là 6 và tôi đã sử dụng 0 trong lệnh 1.Đã trả lời ngày 27 tháng 3 năm 2021 lúc 5:09Mar 27, 2021 at 5:09
Hasanghaforianhasanghaforianhasanghaforian 13.6K9 Huy hiệu vàng74 Huy hiệu bạc161 Huy hiệu đồng9 gold badges74 silver badges161 bronze badges 13.1.15 & NBSP; Tạo câu lệnh INDEX
Thông thường, bạn tạo tất cả các chỉ mục trên bảng tại thời điểm bảng được tạo bằng 2. Xem Phần & NBSP; 13.1.20, Tuyên bố Tạo bảng. Hướng dẫn này đặc biệt quan trọng đối với các bảng 3, trong đó khóa chính xác định bố cục vật lý của các hàng trong tệp dữ liệu. 4 cho phép bạn thêm các chỉ mục vào các bảng hiện có.
4 được ánh xạ tới câu lệnh 6 để tạo các chỉ mục. Xem Phần & NBSP; 13.1.9, Tuyên bố bảng thay đổi. 4 không thể được sử dụng để tạo 8; sử dụng 6 thay thế. Để biết thêm thông tin về các chỉ mục, hãy xem Phần & NBSP; 8.3.1, Cách MySQL sử dụng các chỉ mục.
3 hỗ trợ các chỉ mục thứ cấp trên các cột ảo. Để biết thêm thông tin, xem Phần & NBSP; 13.1.20.9, Chỉ mục thứ cấp và các cột được tạo.Khi cài đặt 1 được bật, hãy chạy câu lệnh 2 cho bảng 3 sau khi tạo một chỉ mục trên bảng đó.Bắt đầu với MySQL 8.0.17, 4 cho thông số kỹ thuật 5 có thể lấy mẫu 6 dưới dạng mảng 7) để tạo chỉ mục đa giá trị trên cột 8. Xem các chỉ mục đa giá trị.Một đặc tả chỉ mục của Mẫu 9, 0, ...) Tạo một chỉ mục có nhiều phần chính. Các giá trị khóa chỉ mục được hình thành bằng cách kết hợp các giá trị của các phần khóa đã cho. Ví dụ 1 chỉ định chỉ số nhiều cột với các khóa chỉ mục bao gồm các giá trị từ 2, 3 và 4.Thông số kỹ thuật 5 có thể kết thúc bằng 6 hoặc 7 để chỉ định xem các giá trị chỉ mục có được lưu trữ theo thứ tự tăng dần hay giảm dần hay không. Mặc định là tăng dần nếu không có trình xác định đơn hàng nào được đưa ra. 6 và 7 không được phép cho các chỉ mục 0. 6 và 7 cũng không được hỗ trợ cho các chỉ mục đa giá trị. Kể từ MySQL 8.0.12, 6 và 7 không được phép cho các chỉ mục 5.Các phần sau đây mô tả các khía cạnh khác nhau của tuyên bố 4:
Các bộ phận khóa tiền tố cộtCác bộ phận khóa chức năng
Tùy chọn chỉ mục
Câu lệnh được hiển thị ở đây tạo ra một chỉ mục bằng cách sử dụng 10 ký tự đầu tiên của cột ____108 (giả sử rằng 08 có loại chuỗi không phải là một loại):
Nếu các tên trong cột thường khác nhau ở 10 ký tự đầu tiên, các tra cứu được thực hiện bằng cách sử dụng chỉ mục này sẽ không chậm hơn nhiều so với việc sử dụng một chỉ mục được tạo từ toàn bộ cột 08. Ngoài ra, sử dụng các tiền tố cột cho các chỉ mục có thể làm cho tệp chỉ mục nhỏ hơn nhiều, có thể tiết kiệm rất nhiều không gian đĩa và cũng có thể tăng tốc các hoạt động 11.Các bộ phận khóa chức năngChỉ số chỉ số của người Viking chỉ số các giá trị cột hoặc tiền tố của các giá trị cột. Ví dụ: trong bảng sau, mục nhập chỉ mục cho một hàng 12 đã cho bao gồm toàn bộ giá trị 2 và tiền tố của giá trị 3 bao gồm 10 ký tự đầu tiên của nó:“normal” index indexes column values
or prefixes of column values. For example, in the following table, the index entry for a given 12 row includes the full 2 value and a prefix of the 3 value consisting of its first 10 characters:
MySQL 8.0.13 và hỗ trợ cao hơn các phần khóa chức năng mà các giá trị biểu thức chỉ mục thay vì các giá trị tiền tố cột hoặc cột. Việc sử dụng các phần khóa chức năng cho phép lập chỉ mục các giá trị không được lưu trữ trực tiếp trong bảng. Ví dụ:
Một chỉ mục với nhiều phần chính có thể trộn các phần khóa không chức năng và chức năng.
6 và 7 được hỗ trợ cho các phần khóa chức năng.Các phần khóa chức năng phải tuân thủ các quy tắc sau. Một lỗi xảy ra nếu một định nghĩa phần chính chứa các cấu trúc không được phép.
Đối với 19, bảng đích lưu giữ các bộ phận khóa chức năng từ bảng gốc.Các chỉ mục chức năng được triển khai dưới dạng các cột được tạo ảo ẩn, có những hàm ý này:
20 được hỗ trợ cho các chỉ mục bao gồm các phần khóa chức năng. Tuy nhiên, các khóa chính không thể bao gồm các phần khóa chức năng. Một khóa chính yêu cầu cột được tạo được lưu trữ, nhưng các phần khóa chức năng được triển khai dưới dạng các cột được tạo ảo, không được lưu trữ các cột được tạo.
5 và 22 Các chỉ mục không thể có các phần khóa chức năng.Nếu một bảng không chứa khóa chính, 3 sẽ tự động quảng bá chỉ mục 24 đầu tiên lên khóa chính. Điều này không được hỗ trợ cho các chỉ mục 25 có các phần khóa chức năng.Các chỉ số không chức năng nêu ra một cảnh báo nếu có các chỉ mục trùng lặp. Các chỉ mục có chứa các bộ phận khóa chức năng không có tính năng này. Để loại bỏ một cột được tham chiếu bởi một phần khóa chức năng, chỉ mục phải được xóa trước. Nếu không, một lỗi xảy ra. Mặc dù các bộ phận khóa không chức năng hỗ trợ đặc tả độ dài tiền tố, nhưng điều này là không thể đối với các phần khóa chức năng. Giải pháp là sử dụng 17 (hoặc 18, như được mô tả sau trong phần này). Đối với một phần khóa chức năng chứa hàm 17 được sử dụng trong truy vấn, mệnh đề 29 phải chứa 17 với cùng một đối số. Trong ví dụ sau, chỉ có 31 thứ hai có thể sử dụng chỉ mục vì đó là truy vấn duy nhất trong đó các đối số với 17 khớp với đặc tả chỉ mục: 0Các phần khóa chức năng cho phép lập chỉ mục các giá trị không thể được lập chỉ mục khác, chẳng hạn như các giá trị 8. Tuy nhiên, điều này phải được thực hiện chính xác để đạt được hiệu ứng mong muốn. Ví dụ, cú pháp này không hoạt động: 1Cú pháp thất bại vì:
Để lập chỉ mục cột 8, bạn có thể thử sử dụng chức năng 18 như sau: 2Cột được tạo ẩn được gán kiểu dữ liệu 41, có thể được lập chỉ mục. Nhưng phương pháp này tạo ra một vấn đề mới khi cố gắng sử dụng chỉ mục:
Kết quả là, có sự không phù hợp đối chiếu giữa biểu thức được lập chỉ mục trong định nghĩa bảng trước và biểu thức mệnh đề 29 trong truy vấn sau: 3Chỉ số không được sử dụng vì các biểu thức trong truy vấn và chỉ số khác nhau. Để hỗ trợ loại kịch bản này cho các bộ phận khóa chức năng, trình tối ưu hóa sẽ tự động thoát 18 khi tìm kiếm một chỉ mục để sử dụng, nhưng chỉ khi việc đối chiếu biểu thức được lập chỉ mục khớp với biểu thức truy vấn. Đối với một chỉ mục có phần khóa chức năng được sử dụng, một trong hai giải pháp sau đây hoạt động (mặc dù chúng khác nhau có hiệu lực):only if the collation of the indexed expression matches that of the query expression. For an index with a functional key part to be used, either of the following two solutions work (although they differ
somewhat in effect):
Xin lưu ý rằng mặc dù trình tối ưu hóa hỗ trợ tự động tước 18 với các cột được tạo được lập chỉ mục, cách tiếp cận sau không hoạt động vì nó tạo ra kết quả khác có và không có chỉ mục (Bug#27337092): 8Chỉ số độc đáoChỉ số 20 tạo ra một ràng buộc sao cho tất cả các giá trị trong chỉ mục phải khác biệt. Lỗi xảy ra nếu bạn cố gắng thêm một hàng mới với giá trị khóa phù hợp với hàng hiện có. Nếu bạn chỉ định giá trị tiền tố cho một cột trong chỉ mục 20, các giá trị cột phải là duy nhất trong độ dài tiền tố. Chỉ số 20 cho phép nhiều giá trị 59 cho các cột có thể chứa 59.Nếu một bảng có chỉ số 8 hoặc 25 bao gồm một cột duy nhất có loại số nguyên, bạn có thể sử dụng 63 để tham khảo cột được lập chỉ mục trong các câu lệnh 31, như sau:
Chỉ số đa giá trịKể từ MySQL 8.0.17, 3 hỗ trợ các chỉ mục đa giá trị. Chỉ mục đa giá trị là một chỉ mục thứ cấp được xác định trên một cột lưu trữ một mảng các giá trị. Một chỉ số bình thường của người Viking có một bản ghi chỉ số cho mỗi bản ghi dữ liệu (1: 1). Một chỉ mục đa giá trị có thể có nhiều bản ghi chỉ mục cho một bản ghi dữ liệu duy nhất (n: 1). Các chỉ mục đa giá trị được dự định để lập chỉ mục 8 mảng. Ví dụ: một chỉ mục đa giá trị được xác định trên mảng mã zip trong tài liệu JSON sau đây tạo một bản ghi chỉ mục cho mỗi mã zip, với mỗi bản ghi chỉ mục tham chiếu cùng một bản ghi dữ liệu.“normal” index has one index record for each data record (1:1). A multi-valued index can have multiple index records for a single data record (N:1). Multi-valued indexes are intended for indexing 8 arrays. For example, a multi-valued index defined on the array of zip codes in the following JSON document creates an index record for each zip code, with each index record referencing the same data record. 9Tạo các chỉ mục đa giá trịBạn có thể tạo một chỉ mục đa giá trị trong câu lệnh 76, 6 hoặc 4. Điều này yêu cầu sử dụng 79 trong định nghĩa chỉ số, đưa ra các giá trị vô hướng được gõ bằng một mảng 8 vào mảng kiểu dữ liệu SQL. Một cột ảo sau đó được tạo trong suốt với các giá trị trong mảng kiểu dữ liệu SQL; Cuối cùng, một chỉ mục chức năng (còn được gọi là chỉ mục ảo) được tạo trên cột ảo. Đây là chỉ mục chức năng được xác định trên cột ảo của các giá trị từ mảng kiểu dữ liệu SQL tạo thành chỉ mục đa giá trị.Các ví dụ trong danh sách sau đây cho thấy ba cách khác nhau trong đó chỉ mục đa giá trị 81 có thể được tạo trên một mảng 82 trên cột 8 84 trong một bảng có tên 85. Trong mỗi trường hợp, mảng JSON được chuyển vào một mảng kiểu dữ liệu SQL của các giá trị số nguyên 86.
Một chỉ số đa giá trị cũng có thể được định nghĩa là một phần của chỉ số tổng hợp. Ví dụ này cho thấy một chỉ số tổng hợp bao gồm hai phần có giá trị đơn (cho các cột 92 và 93) và một phần đa giá trị (cho cột 84): 3Chỉ có thể sử dụng một phần khóa đa giá trị có thể được sử dụng trong một chỉ số tổng hợp. Phần khóa đa giá trị có thể được sử dụng theo bất kỳ thứ tự nào so với các phần khác của khóa. Nói cách khác, câu lệnh 95 vừa được hiển thị có thể đã sử dụng 96 (hoặc bất kỳ thứ tự nào khác) và vẫn còn hợp lệ.Sử dụng các chỉ mục đa giá trịTrình tối ưu hóa sử dụng chỉ mục đa giá trị để tìm nạp các bản ghi khi các chức năng sau được chỉ định trong mệnh đề 29:
Chúng ta có thể chứng minh điều này bằng cách tạo và điền vào bảng 85 bằng cách sử dụng các câu lệnh 76 và 11 sau: 4Đầu tiên, chúng tôi thực thi ba truy vấn trên bảng 85, mỗi truy cập sử dụng 98, 99 và 00, với kết quả từ mỗi truy vấn được hiển thị ở đây: 5Tiếp theo, chúng tôi chạy 08 trên mỗi ba truy vấn trước đó: 6Không ai trong ba truy vấn chỉ hiển thị có thể sử dụng bất kỳ khóa nào. Để giải quyết vấn đề này, chúng tôi có thể thêm một chỉ mục đa giá trị trên mảng 09 trong cột 8 ( 84), như thế này: 7Khi chúng tôi chạy lại các câu lệnh 08 trước đó, giờ đây chúng tôi có thể quan sát rằng các truy vấn có thể (và làm) sử dụng chỉ mục 81 vừa được tạo: 8Một chỉ mục đa giá trị có thể được định nghĩa là một khóa duy nhất. Nếu được xác định là một khóa duy nhất, cố gắng chèn một giá trị đã có trong chỉ mục đa giá trị trả về một lỗi khóa trùng lặp. Nếu các giá trị trùng lặp đã có mặt, cố gắng thêm một chỉ mục đa giá trị duy nhất không thành công, như được hiển thị ở đây: 9Đặc điểm của các chỉ mục đa giá trịCác chỉ mục đa giá trị có các đặc điểm bổ sung được liệt kê ở đây:
Hạn chế và hạn chế đối với các chỉ mục đa giá trịCác chỉ mục đa giá trị phải tuân theo các hạn chế và hạn chế được liệt kê ở đây:
Chỉ số không gianCác công cụ lưu trữ 8, 3, 06 và 39 hỗ trợ các cột không gian như 40 và 41. . Các chỉ số không gian và không thường xuyên trên các cột không gian có sẵn theo các quy tắc sau.Các chỉ mục không gian trên các cột không gian có các đặc điểm này:
Các chỉ mục không có tiêu chuẩn trên các cột không gian (được tạo bằng 48, 20 hoặc 8) có những đặc điểm này:
Tùy chọn chỉ mụcTheo danh sách phần chính, các tùy chọn chỉ mục có thể được đưa ra. Giá trị 58 có thể là bất kỳ điều nào sau đây:
|