Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

как да проверите дали заявката използва индекс

Това всъщност е по-трудно, отколкото изглежда - типична съвременна СУБД (и MS SQL Server не е изключение) понякога ще направи пълно сканиране на таблица, дори ако има наличен индекс, просто защото това може да е по-бързо при малки количества данни.

Пример:

Нещо повече, решението, което взема СУБД, може да бъде повлияно от това колко свеж/точен е статистика са.

Най-надеждният тест за това дали индексът се използва е просто да попълните вашата база данни с представителни количества данни и след това погледнете план за изпълнение . И не забравяйте да замерите времето на действителното изпълнение на заявката, докато сте в нея!

Опростен пример:ако цялата таблица се побира в една страница на базата данни, по-бързо е просто да заредите тази страница и да я преминете последователно, отколкото да чакате допълнителни I/O за страницата, съдържаща индекс.>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Намерете асоциациите между пощенските акаунти в базата данни и принципите на базата данни в SQL Server (T-SQL)

  2. Как работи функцията за преобразуване на SQL при преобразуване на datetime в float?

  3. TSQL Опитайте/Уловете в рамките на транзакция или обратно?

  4. Използване на таблица от база данни като опашка

  5. Изравняване/сливане на припокриващи се интервали от време