Bài viết mới nhất

Tổng 1741 bài
Cơ sở dữ liệu 22/09/2026 6 phút

TOAST trong PostgreSQL: lưu giá trị lớn ra sao và vì sao SELECT * đắt

TOAST tự nén giá trị lớn rồi đẩy phần còn lớn ra bảng phụ, giữ bảng chính gọn. Đo thật: bảng chính chỉ 15 MB dù tổng dữ liệu hơn 1 GB, và đọc không chạm cột lớn nhanh hơn 33 lần. Nén xảy ra trước, chiến lược lưu, và vì sao SELECT * tốn kém. PostgreSQL 16.

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

Chuẩn hóa vs phi chuẩn hóa trong PostgreSQL: JOIN có thật sự đắt không

Nhiều người phi chuẩn hóa vì sợ JOIN đắt. Đo thật: JOIN tới bảng nhỏ có index gần như miễn phí (0,192 ms so với 0,197 ms không JOIN), trong khi cập nhật dữ liệu sao chép chậm 175 lần và rủi ro lệch. Khi nào chuẩn hóa, khi nào phi chuẩn có lý. PostgreSQL 16.

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

Khóa ngoại có cần index không trong PostgreSQL: có, và nó không tự tạo

PostgreSQL tự tạo index cho PRIMARY KEY và UNIQUE nhưng KHÔNG cho cột khóa ngoại. Đo thật: thiếu index đó, xóa một dòng cha phải quét cả 5 triệu dòng con (179 ms so với 0,7 ms), và JOIN cha con seq scan 52 ms so với 0,17 ms. Vì sao, và khi nào vẫn bỏ được. PostgreSQL 16.

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

Mảng vs bảng con trong PostgreSQL: gọn nhẹ đổi lấy toàn vẹn

Lưu danh sách bằng cột mảng int[] hay bảng con chuẩn hóa với khóa ngoại? Đo thật: mảng gọn hơn 2 lần, tìm chứa giá trị nhanh hơn với index GIN tí hon, khỏi JOIN. Nhưng mảng không có khóa ngoại nên chấp nhận cả giá trị không tồn tại. Chọn theo nhu cầu toàn vẹn. PostgreSQL 16.