1. SARG란?Search Argument, 검색인수라고 하며 Predicate(조건식)에서 검색 대상 및 범위를 제한할 수 있는 식으로 해당 열에 인덱스 사용 및 쿼리 최적화를 위한 필요 조건이다.쿼리 성능 최적화에 중요한 역할을 하며, 인덱스를 제대로 활용하게 해준다. 이러한 활용이 DB 검색 속도를 향상시킨다. 2. Non-SARG란?비검색인수라고 하며, SARG의 반대말로 검색을 제한하지 않는 식이다.인덱스 사용이나 쿼리 최적화의 방해요소이다. 1) 불필요한 열 참조아래와 같이 * 모든컬럼을 다 부르는것도 속도를 저해한다. SELECT * FROM dbo.Categories 아래 행의 결과는 50만건이 나오는데, 이 많은 데이터를 한꺼번에 처리하여 작성일자를 sorting까지 하게 된다면 많은 ..
1. 실행계획에서 index 사용 여부 확인하기MS SQL에서 쿼리 > 실제 실행 계획 포함 클릭 실제 실행계획 포함 후, 아래 쿼리문 실행함.위의 Set statistics io on 문은 어느정도의 읽기 IO가 발생됐는지 알 수 있다. SET STATISTICS IO ON;SELECT s.SupplierID, p.ProductID, p.ProductName, p.UnitPrice FROM dbo.Suppliers AS s INNER JOIN dbo.Products AS p ON s.SupplierID = p.SupplierIDWHERE p.SupplierID = 2메시지 창을 보면 아래와 같이 나오는데, lab 논리적 읽기 숫자확인을 봐야한다.숫자는 쿼리에서 읽은 [data/index] page ..