Cơ sở dữ liệu 22/09/2026 6 phút

Chẩn đoán một truy vấn chậm trong PostgreSQL từ A đến Z: quy trình 5 bước

Gộp mọi công cụ đã học vào một quy trình thực chiến: phát hiện, đọc kế hoạch, tìm nguyên nhân, sửa, xác nhận. Bài này chẩn đoán thật một truy vấn 49 mili giây quét cả 3 triệu đơn — tìm ra thiếu index, thêm index từng phần nhỏ 7,6 MB, còn 9,5 mili giây. PostgreSQL 16.

Cơ sở dữ liệu 22/09/2026 5 phút

Bảng PostgreSQL ngày càng chậm: phân biệt bloat với thiếu index, chữa đúng bệnh

Một bảng chậm dần theo thời gian có hai nguyên nhân rất khác nhau: bloat (phình do dead tuple) hay thiếu index. Bài này đo thật một bảng phình từ 21 lên 176 MB do UPDATE, cách phân biệt bằng dead tuple và kế hoạch, rồi chữa bằng VACUUM đúng loại. PostgreSQL 16.

Cơ sở dữ liệu 22/09/2026 5 phút

Dashboard nhanh lúc vắng, chậm giờ cao điểm: tìm nút thắt dưới tải đồng thời

Một truy vấn chạy 25 mili giây khi test một mình lại thành 266 mili giây khi 32 người cùng mở dashboard. Bài này đo thật sự suy giảm theo số client, chẩn đoán bằng wait_event, và một cách sửa bất ngờ: tắt parallel query giúp nhanh 1,7 lần dưới tải cao. PostgreSQL 16.

Cơ sở dữ liệu 22/09/2026 6 phút

Migration lớn không downtime trong PostgreSQL: đổi schema an toàn trên bảng đang chạy

Đổi schema trên bảng production đang phục vụ mà không gây downtime — mấu chốt là mức khoá và thao tác có viết lại bảng không. Bài này đo thật: ADD COLUMN default tức thì, đổi kiểu cột khoá cả bảng, CREATE INDEX CONCURRENTLY không chặn ghi, và NOT VALID cho ràng buộc. PostgreSQL 16.

Cơ sở dữ liệu 22/09/2026 6 phút

Tối ưu PostgreSQL bền vững: một vòng lặp, không phải một lần chỉnh rồi quên

Bài chốt series: tối ưu không có đích đến mà là một chu trình đo-sửa-xác nhận-giám sát lặp lại. Kèm health snapshot thật của một database khoẻ mạnh và ba nguyên tắc xuyên suốt 132 bài — đo đừng đoán, hiểu đánh đổi, sửa gốc không vá ngọn. PostgreSQL 16.