Trong SQL Server, các hàm tập hợp như COUNT(*), COUNT(Column) và COUNT(DISTINCT Column) xử lý giá trị NULL như thế nào và lập trình viên cần lưu ý gì về hiệu năng?
Phân tích chi tiết các hàm COUNT trong SQL Server
- COUNT(*):
- Cơ chế: Đếm tổng số dòng có trong tập kết quả (result set), bao gồm cả các dòng chứa giá trị NULL ở các cột và các dòng trùng lặp.
- Hiệu năng: SQL Server tối ưu hóa rất tốt
COUNT(*)đối với các bảng có Clustered Index, thường hệ thống sẽ duyệt qua Non-Clustered Index nhỏ nhất có thể thay vì quét toàn bộ bảng dữ liệu.
- COUNT(Column):
- Cơ chế: Đếm tổng số dòng nhưng bỏ qua các dòng có giá trị NULL tại cột được chỉ định (
Column). Chỉ đếm các dòng có giá trị khác NULL. - Hiệu năng: Phải kiểm tra từng giá trị của cột đó để lọc bỏ giá trị NULL.
- COUNT(DISTINCT Column):
- Cơ chế: Đếm số lượng giá trị duy nhất (không trùng lặp) tại cột được chỉ định và bỏ qua các giá trị NULL.
- Hiệu năng: Tốn kém tài nguyên nhất vì SQL Server phải thực hiện bước sắp xếp (Sort) hoặc băm (Hash) để loại bỏ các giá trị trùng lặp trước khi đếm.
Ví dụ minh họa
Giả sử bảng NhanVien có 5 dòng, cột DienThoai có 2 dòng chứa giá trị NULL:
Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...
Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.
// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
Làm Chủ Phỏng Vấn & Nâng Cao Trình Độ Chuyên Nghiệp
Hệ thống khóa học thực chiến chuẩn Enterprise giúp bạn tự tin chinh phục mọi kỳ phỏng vấn kỹ thuật và thăng tiến thu nhập.
Tải Tuyển Tập 100+ Câu Hỏi Phỏng Vấn Chuyên Sâu (PDF)
Bộ tài liệu chuẩn Senior do Unicode Academy tuyển chọn & biên soạn, hỗ trợ tải về định dạng PDF chuẩn in ấn.
Cần Mentor Phỏng Vấn Thử 1-1 & Tối Ưu CV?
Mô phỏng phỏng vấn kỹ thuật thực tế 1-1 qua Google Meet, nhận xét chi tiết điểm mạnh/yếu và sửa CV trực tiếp cùng giảng viên Unicode.
Kiểm Tra CV Chuẩn ATS Miễn Phí
Tải CV của bạn lên để hệ thống AI rà soát từ khóa kỹ năng, định dạng và tính điểm chuẩn nhà tuyển dụng.
Câu hỏi sql server liên quan cùng chủ đề
- Làm thế nào để tối ưu hóa hiệu năng và quản lý Indexes optimization trong dự án SQL Server? Entry
- Làm thế nào để tối ưu hóa hiệu năng và quản lý Backup & Restore strategies trong dự án SQL Server? Entry
- Hãy giải thích chi tiết cơ chế hoạt động của Stored Procedures trong lập trình SQL Server. Junior
- Hãy giải thích chi tiết cơ chế hoạt động của SSIS integration package trong lập trình SQL Server. Junior
- Trong SQL Server, sự khác biệt giữa hàm Scalar-valued Function và Inline Table-valued Function là gì, và tại sao việc sử dụng Scalar-valued Function thường gây suy giảm hiệu năng trong các truy vấn lớn? Junior


