Sebagian besar, yang saya lakukan hanyalah menjalankan kueri dan mencari tahu bagaimana mengeksekusi terhadap data dunia nyata. Jika ada masalah, maka saya lihat rencana eksekusi.
Adapun rencana eksekusi, Brad McGehee memiliki artikel yang menarik tentang masalah ini.
Di dalamnya ia berkata:
Jika Anda melihat salah satu dari berikut ini dalam rencana eksekusi, Anda harus mempertimbangkannya sebagai tanda peringatan dan menyelidiki mereka untuk masalah kinerja potensial. Masing-masing dari mereka kurang ideal dari perspektif kinerja.
* 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?
Tidak selalu mungkin untuk menghindari ini, tetapi semakin Anda dapat menghindarinya, semakin tinggi kinerja kueri.