18/10/2018, 00:22

Cách xoá index trong cơ sở dữ liệu MySQL

Đánh index cho column (côt) trong table (bảng) giúp MySQL thực hiện thao tác truy vấn dữ liệu nhanh hơn rất nhiều. Tuy nhiên điều này chỉ đúng trong trường hợp câu query truy vấn chúng ta cần so sánh giá trị của column được đánh index với một giá trị cho trước. Tuy nhiên khi một index không còn hữu ...

Đánh index cho column (côt) trong table (bảng) giúp MySQL thực hiện thao tác truy vấn dữ liệu nhanh hơn rất nhiều. Tuy nhiên điều này chỉ đúng trong trường hợp câu query truy vấn chúng ta cần so sánh giá trị của column được đánh index với một giá trị cho trước. Tuy nhiên khi một index không còn hữu ích nữa, ví dụ như trong trường hợp bạn không (hoặc ít khi) thực hiện việc so sánh giá trị của column được tạo index với giá trị cho trước khi chạy câu truy vấn thì đã đến lúc bạn cần xoá index đi vì index lúc này sẽ làm chậm thao tác thêm và sửa dữ liệu.

Cú Pháp Xoá (Drop) Index Trong Table

Để xoá index có trong một bảng cho trước trên cơ sở dữ liệu MySQL chúng ta sử dụng cú pháp sau:

ALTER TABLE [table_name] DROP INDEX [index_name];

Trong đó:

  • table_name là tên của table chứa index mà bạn muốn xoá.
  • index_name là tên của index bạn muốn xoá.

Lưu ý: Thuật ngữ INDEX và KEY thường được sử dụng thay thế cho nhau và chúng có chung ý nghĩa.

Ví dụ dưới đây sẽ xoá index students_age_index trên table students:

ALTER TABLE `students` DROP INDEX `students_age_index`;

Ví dụ dưới đây sẽ xoá index students_address_unique trên table students:

ALTER TABLE `students_address_unique` DROP INDEX `students_age_index`;

Lưu ý: UNIQUE (và FULLTEXT) về bản chất cũng là các INDEX. Tuy nhiên FOREIGN KEY CONSTRAINT không phải là một dạng INDEX (đừng hiểu nhầm từ KEY trong thuật ngữ này đồng nghĩa với INDEX), tuy nhiên thông thường khi tạo FOREIGN KEY CONSTRAINT thì chúng ta cũng thường tạo một index đi kèm với nó.

0