Hầu hết, tất cả những gì tôi làm chỉ là chạy truy vấn và tìm hiểu cách nó thực thi đối với dữ liệu trong thế giới thực. Nếu có vấn đề, thì tôi sẽ xem xét các kế hoạch thực hiện.
Về kế hoạch thực hiện, Brad McGehee có một bài viết thú vị về chủ đề này.
Trong đó anh nói:
Nếu bạn thấy bất kỳ điều nào sau đây trong kế hoạch thực hiện, bạn nên xem xét chúng là dấu hiệu cảnh báo và điều tra chúng về các vấn đề hiệu suất tiềm năng. Mỗi người trong số họ đều kém lý tưởng từ góc độ hiệu suất.
* Index or table scans: May indicate a need for better or additional indexes.
* Bookmark Lookups: Consider changing the current clustered index, consider using a covering index, limit the number of columns in the SELECT statement.
* Filter: Remove any functions in the WHERE clause, don’t include wiews[sic] in your Transact-SQL code, may need additional indexes.
* Sort: Does the data really need to be sorted? Can an index be used to avoid sorting? Can sorting be done at the client more efficiently?
Không phải lúc nào cũng có thể tránh được những điều này, nhưng bạn càng có thể tránh chúng, hiệu suất truy vấn sẽ càng nhanh.