Q

Quản trị viên

Là một lập trình viên yêu công nghệ, thích viết blog để chia sẻ kiến thức, kinh nghiệm lập trình và những điều thú vị trong thế giới tech.

2312 bài viết · Website
Cơ sở dữ liệu 22/09/2026 5 phút

Index trên bảng phân vùng PostgreSQL: lan xuống, unique phải chứa khóa, và dựng không khóa

Index tạo trên bảng cha phân vùng tự lan xuống mọi partition và partition mới cũng thừa kế. Nhưng unique/primary key BẮT BUỘC chứa khóa phân vùng. Đo thật: unique thiếu khóa phân vùng báo lỗi, duplicate bị chặn ở mức partition, và cách dựng index không khóa dài bằng ON ONLY + CONCURRENTLY + ATTACH. PostgreSQL 16.

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

Khi nào nên phân vùng PostgreSQL: con dao hai lưỡi, đo trước khi chia

Phân vùng không phải luôn nhanh hơn. Đo thật: cùng 3 triệu dòng, truy vấn khớp khóa phân vùng nhanh gấp 5 lần, nhưng truy vấn point lookup theo cột khác lại chậm gấp 20 lần (phải dò index của cả 50 vùng) cộng planning đắt gấp 7 lần. Khi nào phân vùng đáng, khi nào chỉ thêm phức tạp. PostgreSQL 16.

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

Multi-row INSERT và batch trong PostgreSQL: kích thước lô tối ưu, lợi ích giảm dần

Gộp nhiều dòng vào một câu INSERT VALUES giảm round-trip mạng và chi phí lặp lại. Đo thật nạp 100k dòng: lô 1 dòng mất 8,49 giây, lô 50 chỉ 0,32 giây (nhanh 26 lần), nhưng từ lô 500 trở lên lợi ích giảm dần rõ rệt (0,16 so với 0,14 giây). Điểm ngọt là 500-1000 dòng mỗi lô. Khi nào dùng thay COPY. PostgreSQL 16.