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 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.

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

Nhân bản đồng bộ vs bất đồng bộ trong PostgreSQL: đổi thông lượng lấy độ bền

Nhân bản sync bắt primary chờ standby xác nhận trước khi commit — không mất dữ liệu khi primary chết, nhưng chậm hơn. Đo thật: dải synchronous_commit từ 5021 xuống 2475 tps, và demo commit treo với wait_event SyncRep khi standby chết. PostgreSQL 16.

Lập trình 22/09/2026 6 phút

Unicode trong regex: vì sao \w cắt cụt chữ tiếng Việt và 'à' đôi khi không khớp

Regex và tiếng Việt là mỏ bug ít người lường trước. Bài này đo thật: python \w bắt 'chào' nguyên vẹn nhưng [a-zA-Z] cắt thành 'ch','o'; Go \w lại chỉ ASCII nên phải dùng \p{L}. Chữ 'à' có hai cách mã hóa (NFC 1 codepoint, NFD 2 codepoint) trông giống hệt mà regex khớp khác nhau. Và . khớp 1 rune chứ không phải 1 byte. Cách xử lý cho đúng.