banner
Feb 23, 2023
165 Views

Tăng tốc mysql bằng cách xóa các index không dùng tới

Written by
banner

Câu lệnh bên dưới sẽ giúp bạn tìm các index có thông số cardinality "xấu". Loại bỏ chúng sẽ giúp việc insert vào DB nhanh hơn, tốn ít dung lượng ổ cứng cho Mysql hơn.

SELECT table_name, index_name, non_unique, seq_in_index, column_name, collation, cardinality, sub_part, packed, index_type, comment, index_comment
FROM information_schema.STATISTICS
WHERE table_schema = 'your_database_name'
AND index_name != 'PRIMARY'
AND (cardinality IS NULL OR cardinality = 0)
ORDER BY table_name, index_name, seq_in_index;

Nhưng, nếu bạn muốn chắc chắn không ai dùng trước khi xử trảm nó. Bạn có thể chuyển trường is_visible thành NO. Khi bạn chuyển như thế, mysql vẫn sẽ index bình thường nhưng những câu lệnh SELECT sẽ không được dùng index đó nữa. Nếu tự dưng ai đó kêu thì bật nó lại là xong ;)

Article Categories:
config
banner

Leave a Reply

Your email address will not be published. Required fields are marked *