Đôi khi bạn có thể cần phải xóa chỉ mục trong MySQL, nếu chúng không hoạt động như mong đợi. Dưới đây là cách giảm chỉ mục trong MySQL bằng cách sử dụng truy vấn MySQL DROP INDEX.
Cách giảm chỉ mục trong MySQL
Dưới đây là các bước để DROP INDEX trong MySQL. Chúng tôi sẽ sử dụng truy vấn MySQL DROP INDEX để xóa chỉ mục hiện có khỏi bảng.
Đây là cú pháp của lệnh MySQL DROP INDEX
DROP INDEX index_name ON table_name
[algorithm_option | lock_option];
Trong truy vấn trên, hãy thay thế index_name với tên của chỉ mục và tên_bảng với tên bảng cơ sở dữ liệu của bạn.
Phần thưởng đã đọc:MySQL DROP FOREIGN KEY
Bạn cũng có thể cung cấp 2 đối số tùy chọn - math_option và lock_option.
Thuật toán_option có thể có một trong 3 giá trị - mặc định, tại chỗ, sao chép. Tùy thuộc vào đối số của bạn, MySQL sẽ sử dụng các thuật toán khác nhau để giảm chỉ mục.
Cú pháp của nó là
ALGORITHM [=] {DEFAULT|INPLACE|COPY}
- default - Điều này có tác dụng tương tự như việc không sử dụng math_option tranh luận
- sao chép - Bảng mà bạn cần xóa chỉ mục, sẽ được sao chép và chỉ mục sẽ bị xóa khỏi bảng sao chép. Trong thời gian này, không cho phép các thao tác đồng thời như CHÈN và CẬP NHẬT.
- inplace - Trong trường hợp này, bảng được tạo lại tại chỗ mà không có chỉ mục. Mặc dù tùy chọn này cho phép các hoạt động đồng thời nhưng nó sẽ đặt một khóa siêu dữ liệu trong quá trình thực thi.
Tùy thuộc vào lock_option MySQL sẽ khóa / không khóa quyền truy cập đọc / ghi vào các bảng của bạn trong khi chỉ mục đang bị xóa. lock_option có cú pháp sau
LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}
Nó có 4 giá trị:
- mặc định - nó cho phép đồng thời tối đa cho sự lựa chọn thuật toán của bạn. nó cho phép đọc và ghi đồng thời nếu được hỗ trợ. Nếu không, nó chỉ cho phép đọc đồng thời. Nếu điều đó cũng không được hỗ trợ, nó sẽ thực thi quyền truy cập độc quyền.
- không có - nếu được hỗ trợ, thì bạn có thể đọc và ghi đồng thời. Nếu không, MySQL sẽ báo lỗi.
- shared - nếu tuỳ chọn chia sẻ được hỗ trợ, bạn có thể đọc đồng thời, nhưng không ghi đồng thời.
- độc quyền - tùy chọn này thực thi quyền truy cập độc quyền
Phần thưởng đã đọc:CƠ SỞ DỮ LIỆU DROP của MySQL
Ví dụ về MySQL DROP INDEX
Giả sử bạn có bảng sau với chỉ mục.
mysql> create table orders(order_id int primary key, order_date date, product varchar(255), sale int, index name(product) );
Đây là truy vấn SQL để loại bỏ chỉ mục hiện có tên từ bảng đơn đặt hàng .
mysql> DROP INDEX name ON orders;
Phần thưởng đọc:MySQL DROP COLUMN
Chỉ mục KHÓA CHÍNH CỦA MySQL DROP
Đây là cú pháp để bỏ chỉ mục khóa chính cho các đơn đặt hàng trên bàn.
mysql> DROP INDEX `PRIMARY` ON orders;
Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!