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

udf срещу директна sql производителност

  • Ако искате да се присъедините към Purchases.CustomerID трябва да поставите индекс върху него.
  • Ако често правите заявки за диапазони от стойности, трябва да поставите индекс и върху тях.

Както е, вие молите SQL сървъра да избира между два лоши плана.

SQL Server може да познае приблизително колко покупки ще бъдат покрити от > 1000 запитване и ще избере план въз основа на това.

Той обаче не може да познае колко ще бъдат обхванати от UDF заявката, така че може да избере различен план. Тъй като става дума за невежество, той може да е по-добър или по-лош от другия план в зависимост от това колко добро е предположението.

Можете да видите генерираните планове и ще ви каже прогнозния брой редове във всеки план, както и действителния брой. Тези прогнозни числа отчитат избора на план във всеки случай.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво наистина прави методът Statement.setFetchSize(nSize) в JDBC драйвер на SQL Server?

  2. Разлика между Transaction и TransactionScope

  3. Изчислете сумата от дата и час в HH:MM:SS в sql

  4. Кодиране на символи по подразбиране на SQL Server

  5. Трудност при записването на Stored Proc за извличане на данни за Jqgrid Pagination