MySQL
6 bài viết trong danh mục này
Race condition trong MySQL: isolation level nào giải quyết được?
MySQL có 4 isolation level nhưng mặc định REPEATABLE READ không chặn được mọi race condition. Dirty read, lost update, phantom read — từng loại xảy ra khi nào, isolation level nào ngăn được, và khi nào cần SELECT FOR UPDATE.
MySQL Deadlock: cách đọc log InnoDB và giảm xác suất xảy ra
Deadlock trong MySQL tự resolve nhưng rollback transaction ngẫu nhiên gây lỗi ở app layer. Cách đọc SHOW ENGINE INNODB STATUS để biết chính xác dòng nào bị lock, nguyên nhân phổ biến, và 5 cách giảm xác suất deadlock.
SQL có xử lý dữ liệu lớn được không? Vai trò của index và query
Vì sao SQL vẫn xử lý tốt dữ liệu lớn nếu schema, index và query đúng cách, từ lọc trước khi join đến tối ưu MySQL cho bài toán hàng triệu khách hàng.
MySQL query chậm vì ORDER BY và LIMIT: nguyên nhân và cách tối ưu
ORDER BY kết hợp LIMIT có thể gây filesort trên triệu bản ghi dù bảng đã có index. Giải thích cách MySQL chọn execution plan, cách đọc EXPLAIN, và 4 pattern tối ưu thực tế.
Vai trò của index và những kiểu query làm MySQL chậm
Vì sao index quan trọng trong MySQL, và những kiểu query hay làm chậm như chưa đánh index, SELECT quá nhiều data, hoặc lấy dư dữ liệu rồi mới xử lý ở code.
Tối ưu MySQL query với 300k+ records
Case study tối ưu query MySQL từ 12s xuống 200ms với explain, index và query rewrite.