Lệnh DROP INDEX
dùng để xóa chỉ mục trong bảng
Truy cập MS
DROP INDEX index_name TRÊN tên_bảng;
Máy chủ SQL
DROP INDEX tên_bảng. tên_chỉ mục;
DB2/Oracle
mysql
ALTER TABLE table_name
DROP INDEX index_name;
DROP INDEX
loại bỏ chỉ mục có tên index_name
khỏi bảng tbl_name
. Câu lệnh này được ánh xạ tới câu lệnh ALTER TABLE
để loại bỏ chỉ mục
Nếu một kết nối khác đang sử dụng bảng, khóa siêu dữ liệu sẽ hoạt động và câu lệnh này sẽ đợi cho đến khi khóa được giải phóng. Điều này cũng đúng với các bảng phi giao dịch
Xem ALTER TABLE
Một phím tắt khác, CREATE INDEX
, cho phép tạo chỉ mục
Để xóa khóa chính, `PRIMARY`
phải được chỉ định là index_name. Lưu ý rằng các dấu ngoặc kép là cần thiết, bởi vì PRIMARY
là một từ khóa
đặc quyền
Thực thi câu lệnh DROP INDEX
yêu cầu đặc quyền DROP INDEX
0 cho bảng hoặc cơ sở dữ liệu
DDL trực tuyến
DDL trực tuyến được sử dụng theo mặc định với InnoDB, khi thao tác thả chỉ mục hỗ trợ nó
Xem Tổng quan về DDL trực tuyến của InnoDB để biết thêm thông tin về DDL trực tuyến với InnoDB
DROP INDEX
1
Nếu mệnh đề DROP INDEX
2 được sử dụng, thì MariaDB sẽ trả về cảnh báo thay vì lỗi nếu chỉ mục không tồn tại
DROP INDEX
3
Báo cáo tiến độ
MariaDB cung cấp báo cáo tiến độ cho câu lệnh DROP INDEX
cho khách hàng hỗ trợ giao thức báo cáo tiến độ mới. Ví dụ: nếu bạn đang sử dụng ứng dụng khách DROP INDEX
5, thì báo cáo tiến độ có thể trông như thế này
Xem thêm
Bình luận
Nội dung được sao chép trên trang web này là tài sản của chủ sở hữu tương ứng và nội dung này không được MariaDB xem xét trước. Quan điểm, thông tin và ý kiến được thể hiện bởi nội dung này không nhất thiết đại diện cho quan điểm của MariaDB hoặc bất kỳ bên nào khác
MySQL cho phép câu lệnh DROP INDEX xóa chỉ mục hiện có khỏi bảng. Để xóa một chỉ mục khỏi bảng, chúng ta có thể sử dụng truy vấn sau
Nếu chúng tôi muốn xóa một chỉ mục, nó yêu cầu hai điều
- Trước tiên, chúng tôi phải chỉ định tên của chỉ mục mà chúng tôi muốn xóa
- Thứ hai, tên của bảng mà chỉ mục của bạn thuộc về
Cú pháp Drop Index chứa hai tùy chọn tùy chọn, đó là Thuật toán và Khóa để đọc và ghi các bảng trong quá trình sửa đổi chỉ mục. Hãy để chúng tôi giải thích cả hai chi tiết
Tùy chọn thuật toán
Algorithm_option cho phép chúng tôi chỉ định thuật toán cụ thể để xóa chỉ mục trong bảng. Cú pháp của thuật toán_option như sau
Cú pháp Drop Index hỗ trợ chủ yếu hai thuật toán là INPLACE và COPY
SAO CHÉP. Thuật toán này cho phép chúng ta sao chép từng hàng một bảng vào một bảng mới khác rồi thực hiện câu lệnh DROP Index trên bảng mới này. Trên bảng này, chúng ta không thể thực hiện câu lệnh INSERT và UPDATE để thao tác dữ liệu
ĐẶT CHỖ. Thuật toán này cho phép chúng ta xây dựng lại một bảng thay vì sao chép bảng gốc. Ta có thể thực hiện mọi thao tác thao tác dữ liệu trên bảng này. Trên bảng này, MySQL phát hành khóa siêu dữ liệu độc quyền trong quá trình xóa chỉ mục
Ghi chú. Nếu bạn không xác định mệnh đề thuật toán, MySQL sử dụng thuật toán INPLACE. Nếu INPLACE không được hỗ trợ, nó sẽ sử dụng thuật toán COPY. Thuật toán MẶC ĐỊNH hoạt động giống như không sử dụng mệnh đề thuật toán nào với câu lệnh Drop index
Tùy chọn khóa
Điều khoản này cho phép chúng tôi kiểm soát mức độ đọc và ghi đồng thời trong quá trình xóa chỉ mục. Cú pháp của lock_option như sau
Theo cú pháp, chúng ta có thể thấy lock_option chứa 4 chế độ là DEFAULT, NONE, SHARED và EXCLUSIVE. Bây giờ, chúng ta sẽ thảo luận chi tiết về tất cả các chế độ
ĐÃ CHIA SẺ. Chế độ này chỉ hỗ trợ đọc đồng thời, không ghi đồng thời. Khi các lần đọc đồng thời không được hỗ trợ, nó sẽ báo lỗi
MẶC ĐỊNH. Chế độ này có thể có mức đồng thời tối đa cho một thuật toán cụ thể. Nó sẽ cho phép đọc và ghi đồng thời nếu được hỗ trợ nếu không sẽ thực thi chế độ độc quyền
KHÔNG AI. Bạn có đồng thời đọc và ghi nếu chế độ này được hỗ trợ. Nếu không, nó đưa ra một lỗi
LOẠI TRỪ. Chế độ này thực thi quyền truy cập độc quyền
Thí dụ
Đầu tiên, thực hiện lệnh sau để hiển thị các chỉ mục có sẵn trong bảng
Nó sẽ cho đầu ra sau
Ở đầu ra, chúng ta có thể thấy rằng có sẵn ba chỉ mục. Bây giờ, hãy thực hiện câu lệnh sau để xóa chỉ mục lớp khỏi bảng student
Một lần nữa, thực hiện câu lệnh SHOW INDEXES để xác minh chỉ mục có bị xóa hay không. Sau khi thực hiện câu lệnh này, chúng ta sẽ nhận được đầu ra sau, trong đó chỉ có hai chỉ mục
Ví dụ sử dụng Thuật toán và Khóa
Câu lệnh sau đây loại bỏ chỉ số tuổi từ bảng sinh viên bằng thuật toán và tùy chọn khóa
MySQL Drop PRIMARY Key Index
Trong một số trường hợp, bảng chứa chỉ mục CHÍNH được tạo bất cứ khi nào bạn tạo bảng có khóa chính hoặc khóa duy nhất. Trong trường hợp đó, chúng ta cần thực hiện lệnh sau vì PRIMARY là từ dành riêng