development:database:mysql:toi-uu-lenh-count
Tối ưu lệnh count
MYSIAM: lưu thông tin bảng vào metadata ⇒ count nhanh, có thể dùng lệnh để xem: SHOW TABLE STATUS LIKE 'TABLE_NAME'
INODB: cần đảm bảo tính nhất quán của dữ liệu, nên không dùng thông tin đã lưu vào metadata.
Vậy làm sao để tối ưu lệnh count trên INODB?
- count(*): count tất cả các trường không bỏ qua giá trị null
- count(1):count tất cả các trường không bỏ qua giá trị null, do 1 khác null
- count(field): count tất cả các trường bỏ qua giá trị null. Ví dụ count(id) ⇒ full bảng do id không có trường null, count(email) thì sẽ count tất cả các trường khác null.
Tham khảo: https://www.youtube.com/watch?v=2sfOGqLKXq8
development/database/mysql/toi-uu-lenh-count.txt · Last modified: 2025/04/02 04:01 by tungnt