HANOI-naijanewsmag.comGiới thiệuGiảng viênThương hiệu thứ chấtHỏi đápCHƯƠNG TRÌNH ĐÀO TẠOLẬPhường TRÌNH VIÊN QUỐC TẾ ADSEKỹ Thuật Viên Quốc TếCÁC KHÓA HỌC NGẮN HẠNQuản Trị MạngLập Trình ASP..NETLập Trình PHPLập Trình C#Lập Trình JavaLập Trình cơ sở dữ liệu với SQLẤN ĐỘCông nghệ thông tinNền giáo DụcTIN TỨCTIN TỨC VỀ CNTTLịch thiLịch tuyển chọn sinhThông tin học bổngTUYỂN DỤNGTIN TUYỂN DỤNGGóc nghề nghiệp

Bạn đang xem: Index trong sql là gì

*

Trong một câu lệnh Squốc lộ, một ĐK kiếm tìm kiếm sinh sống mệnh đề WHERE được Hotline là sargable (viết tắt từ Search Argument-Able) nếu index hoàn toàn có thể được sử dụng khi triển khai câu lệnh (đưa sử cột tương xứng gồm index). Ví dụ, với câu lệnh sau:


Xem thêm: Grad School Là Gì - Graduate School In Vietnamese

thì điều kiện “CustomerID = 1234″ là sargable, do nó được cho phép index trên cột CustomerID được thực hiện.Vì index giúp tăng hiệu năng của câu lệnh lên không ít, Việc viết code để làm sao để cho các điều kiện search tìm trở nên sargable là một trong kim chỉ nam siêu đặc trưng. Một bề ngoài vô cùng cơ bạn dạng trong Squốc lộ Server cơ mà bạn cũng có thể vận dụng trong tương đối nhiều ngôi trường thích hợp, sẽ là cột đề xuất tra cứu đề xuất đứng một mình ở 1 phía của biểu thức search tìm, có thể nói là không tồn tại hàm số tuyệt phxay tính toán thù làm sao vận dụng bên trên cột đó. Hãy chăm chú nhì câu lệnh bên dưới đây:


USE AdventureWorksGO-- câu lệnh 1 (non-sargable)SELECT * FROM Sales.IndividualWHERE CustomerID+2 = 11002-- câu lệnh 2 (sargable)SELECT * FROM Sales.IndividualWHERE CustomerID = 11000
Hai câu lệnh bên trên cho và một công dụng, mà lại sinh sống câu lệnh 1 ĐK tra cứu kiếm của chính nó là non-sargable và index trên cột CustomerID trsống buộc phải có hại. Kế hoạch thực hiện của chính nó cho biết điều này:

*

Câu lệnh 1 dẫn đến làm việc Clustered Index Scan, Có nghĩa là quét cả cây clustered index, đồng nghĩa tương quan cùng với quét bảng (do clustered index đó là bảng). Do vậy cơ mà ngân sách của chính nó tăng vọt. Sngơi nghỉ dĩ index dường như không được sử dụng vày khi chúng ta áp dụng một phnghiền tính tân oán trên cột, khối hệ thống nên triển khai tính toán kia trên từng node bên trên cây index trước khi rất có thể mang hiệu quả nhằm đối chiếu với giá trị nên kiếm tìm. Vì vậy nó cần chú tâm tuần từ bỏ qua từng node cố vì chưng tìm kiếm theo phong cách nhị phân (index seek, nlỗi với câu lệnh 2). Và đó là các số lượng thống kê lại về IO cùng thời gian thực hiện:Câu lệnh 1 (non-sargable):

Table "Individual". Scan count 1, logical reads 3088, physical reads 35CPU time = 0 ms, elapsed time = 259 ms.Câu lệnh 2 (sargable):


Cả nhì cách viết bên trên mọi làm mất chức năng index bên trên ngôi trường OrderDate. Cách viết đúng cần là:

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *