SQL Server cung cấp hai kỹ thuật nén cho indexes: row compression thu gọn datatypes có độ dài cố định, còn page compression bổ sung xây dựng từ điển cấp trang để loại bỏ giá trị trùng lặp (như Location), nhưng tốn nhiều CPU hơn. Row compression phù hợp với cột có độ dài cố định và VARCHAR trong NVARCHAR, trong khi page compression hiệu quả trên indexes không clustered có nhiều giá trị trùng lặp, nhưng không hỗ trợ chuỗi lớn ngoài trang (JSON/XML) và lãng phí CPU khi dữ liệu khó nén hoặc cập nhật thường xuyên.
Vì sao nên đọc: Lập trình viên nên đọc bài này để hiểu cách tối ưu hóa hiệu suất cơ sở dữ liệu bằng cách lựa chọn đúng kỹ thuật nén (row vs. page compression) cho từng trường hợp cụ thể, đặc biệt khi cần giảm chi phí CPU hoặc I/O trong các ứng dụng có dữ liệu lặp đi lặp lại hoặc kiểu dữ liệu đặc biệt.
Trả lời 3 câu hỏi ngắn để nhận điểm thưởng cho bài này. Chỉ làm khi bạn muốn lấy điểm.
3 câu hỏi · dưới một phút · không bắt buộc
Nguồn: https://www.brentozar.com/archive/2026/08/database-animations-the-difference-between-row-compression-and-page-compression. 8 Sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Đang tải bình luận…
Bất kỳ công ty nào trên thế giới cũng đều có chung bảy bảng cơ bản trong production database. Điều này xảy ra do nhu cầu universal trong quản lý dữ liệu như users, roles, permissions, organizations, projects, activities và audit logs. Hệ quả là kiến trúc database có phần giống nhau dù ngành nghề hay thời điểm khác nhau. Điều đáng học hỏi là việc nhận ra pattern này giúp tối ưu hóa thiết kế database và giảm thiểu thời gian phát triển.
Bài viết này giúp bạn hiểu được cấu trúc dữ liệu phổ biến nhất trong mọi hệ thống quản trị dữ liệu.
DuckDB 2.0 mang lại hiệu suất vượt trội với recursive CTEs nhanh hơn tới 90x so với phiên bản 1.5.5, kiểu dữ VARIANT xử lý nhanh hơn 6x so với JSON text, và async I/O trên S3 tăng 2.4x. Sự cải thiện đến từ tối ưu hóa engine xử lý, đặc biệt là việc bổ sung cache-aware execution plan và cải thiện cách quản lý memory cho variant data. Điều này cho thấy việc hiểu cách DuckDB lưu trữ và xử lý dữ liệu (đặc biệt với variant và variant types) sẽ giúp tối ưu hóa truy vấn tốt hơn. Bài viết cung cấp những insight thực tế về cách thiết kế schema dữ liệu để tận dụng tối đa hiệu năng mới mà không cần thay đổi code ứng dụng.
DuckDB 2.0 mang đến tốc độ vượt trội với cải tiến đáng kể trong CTE đệ quy, xử lý VARIANT và I/O bất đồng bộ, giúp lập trình viên tối ưu hiệu suất truy vấn dữ liệu.
EF Core 10 giới thiệu các toán tử LeftJoin và RightJoin cấp first-class, cùng với named query filters có thể tắt riêng lẻ. Bản cập nhật này hỗ trợ complex types được ánh xạ trực tiếp vào JSON columns, cải thiện hiệu suất truy vấn. Các tính năng mới giúp giảm thiểu lượng code cần viết khi xử lý các thao tác join và lọc phức tạp. Với khả năng ánh xạ trực tiếp đến JSON columns, EF Core 10 mang lại giải pháp linh hoạt hơn cho việc làm việc với dữ liệu không quan hệ. Những cải tiến này đặc biệt hữu ích cho các ứng dụng cần xử lý cả cấu trúc quan hệ và phi quan hệ.
EF Core 10 mang đến những tính năng đột phá như LeftJoin, RightJoin và bộ lọc truy vấn có thể tắt riêng lẻ, giúp tối ưu hiệu suất và khả năng linh hoạt trong phát triển ứng dụng.
Trendyol xử lý hàng triệu sự kiện và giao dịch mỗi ngày và trước đây dựa vào Couchbase làm kho dữ liệu chính. Khi chi phí cấp phép và vận hành Couchbase tăng theo mức sử dụng, đội ngũ quyết định tìm giải pháp thay thế mã nguồn mở để giảm chi phí mà không làm giảm hiệu suất. Họ đã thiết kế lại mô hình dữ liệu, chuyển các truy vấn và bộ đệm sang PostgreSQL, sử dụng partitioning và indexing tối ưu để duy trì thời gian phản hồi ở mức mili giây. Sau khi hoàn tất migration, chi phí hạ tầng đã giảm đáng kể trong khi latency trung bình vẫn ổn định ở mức trước khi thay đổi. Bài viết nhấn mạnh bài học quan trọng: trước khi thay đổi công nghệ cần đo lường rõ ràng cả chi phí và chỉ số hiệu suất để đảm bảo quyết định mang lại lợi ích thực tế.
Bài viết này cho thấy cách giảm chi phí cơ sở dữ liệu mà không làm giảm hiệu suất thông qua việc di chuyển từ Couchbase sang PostgreSQL.
Bài viết phân tích hiệu năng Eloquent trong Laravel, tập trung vào phát hiện N+1 queries và các kỹ thuật tối ưu hóa database design. Tác giả chỉ ra việc sử dụng eager loading thay vì lazy loading giúp giảm từ 150 truy vấn xuống còn 2 truy vấn cho cùng dữ liệu. Các kỹ thuật quan trọng được đề cập bao gồm pagination với chunking, transaction boundaries và việc phân tích query plans bằng EXPLAIN. Điều đáng học là cách cân bằng giữa tính chính xác dữ liệu và hiệu năng thông qua chọn lọc aggregation functions và indexes phù hợp.
Bài viết này giúp lập trình viên tối ưu hiệu năng ứng dụng bằng cách giải quyết các vấn đề về truy vấn N+1, thiết kế cơ sở dữ liệu và chiến lược xử lý dữ liệu hiệu quả.
Bài viết mô tả việc đội phát triển gặp vấn đề N+1 khi truy vấn danh sách đối tượng và quyết định áp dụng eager loading để giảm số lượng query. Sau khi bật eager loading, tổng số query giảm từ 801 xuống chỉ một câu SQL duy nhất. Tuy nhiên, câu query duy nhất này trả về lượng dữ liệu lớn hơn khả năng bộ nhớ của ứng dụng, khiến mức sử dụng RAM tăng lên gấp ba lần so với trước khi tối ưu. Kết quả là, mặc dù hiệu suất về số lượng query cải thiện, ứng dụng dễ gặp lỗi out‑of‑memory hoặc trễ do việc xử lý khối dữ liệu lớn. Bài học là khi tối ưu N+1 cần cân bằng giữa giảm query và kiểm soát lượng dữ liệu được tải, ví dụ qua việc chọn trường cụ thể, sử dụng pagination hoặc batch loading thay vì eager loading toàn bộ liên kết.
Bài viết này dạy bài học quý giá rằng tối ưu hóa database không lúc nào cũng tốt nếu không cân nhắc đến giới hạn tài nguyên hệ thống.
EF Core 10 đã thay đổi cách thức hàm Contains gửi danh sách đến SQL Server với giới hạn 2,100 parameter, vượt qua ngưỡng này sẽ gây lỗi. Nguyên nhân kỹ thuật nằm ở SQL Server limiting number of parameters trong một câu lệnh. Hệ quả là query thất bại khi danh sách filter vượt quá 2,100 mục. Bạn có thể giải quyết bằng kỹ thuật SplitQuery hoặc AsEnumerable() nhưng cần benchmark để chọn phương án tối ưu cho trường hợp cụ thể.
Bài này giúp lập trình viên hiểu và giải quyết vấn đề giới hạn tham số khi lọc Entity Framework Core với danh sách lớn.
Bối cảnh: Prisma 8 đang là chủ đề bàn luận trong các cộng đồng lập trình với những lo ngại về khả năng triển khai trong các ứng dụng sản phẩm lâu dài. Nguyên nhân kỹ thuật: Lead developer của Prisma 8 giải quyết ba vấn đề chính từ Reddit discussion: kiến trúc mới, động lực thương mại của Prisma, và liệu migration model có che đi SQL hay không. Hệ quả: Những giải đáp này giúp làm rõ hướng phát triển của Prisma và tăng cường niềm tin của lập trình viên khi cân nhắc sử dụng framework cho các dự án lớn. Điều đáng học: Người dùng nên chú ý đến cách Prisma cân bằng giữa trừu tượng hóa SQL và cung cấp quyền kiểm soát trực tiếp khi cần thiết.
Bài này giải đáp ba mối quan trọng về Prisma 8 giúp lập trình viên đánh giá khả năng triển khai ứng dụng sản xuất lâu dài.
Đọc tin ở đây, luyện code, học theo lộ trình và luyện IELTS trên các sản phẩm anh em — tất cả kết nối với nhau trong hệ sinh thái 8 Sync.
Cổng chính của hệ sinh thái: giới thiệu sản phẩm, blog và bảng giá trọn bộ.
Khám pháHọc theo lộ trình rõ từng chặng: video, quiz chấm tự động, certificate và mentor đang làm nghề.
Xem lộ trình1.000+ bài DSA, đề tiếng Việt, chấm tự động 7 ngôn ngữ — nhiều bài FREE, chạy ngay trên trình duyệt.
Luyện miễn phíChấm bốn kỹ năng IELTS bằng AI, phản hồi chi tiết theo rubric.
Dùng thử miễn phíAI IDE 22 MB cho dev Việt.
Tải miễn phíBộ nhớ tổ chức cho AI agent.
Khám pháAI trực Fanpage, tự sàng lọc lead.
Dùng thử