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

Какво прави изпълнението на заявка с тази заявка в SQL Server 2005?

Вашият код прави невалидни предположения. В декларативен език, ориентиран към множество, като SQL, изпълнението е свободно да избере какъвто план за изпълнение сметне за подходящ. Това, което виждате като неефективно, най-вероятно е валидна оптимизация, при която заглавието се проектира първо от индекс, който отговаря на предикатите на lastmodified или нещо подобно. Не можете да правите никакви предположения относно реда на изпълнение и следователно не ви е позволено да имате в списъка с проекции изрази като SUBSTRING (..,9,..), които ще бомбардират определени редове.

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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Мога ли да използвам променлива, когато използвам ISABOUT?

  2. Актуализиране на променлива с текуща стойност на ред

  3. SQL Server:Примери за PIVOTing String данни

  4. Обединяване на данни в една SQL таблица без курсор

  5. Грешки в SQL Server при импортиране на CSV файл, въпреки че varchar(MAX) се използва за всяка колона