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

Ограничение на клаузата IN в Sql Server

Да, има ограничение, но MSDN само уточнява, че е "в хиляди":

Включването на изключително голям брой стойности (много хиляди) в клауза IN може да изразходва ресурси и да върне грешки 8623 или 8632. За да заобиколите този проблем, съхранете елементите в списъка IN в таблица.

Разглеждайки тези грешки в подробности, виждаме, че това ограничение не е специфично за IN но се отнася за сложността на заявката като цяло:

Грешка 8623:

Обработчикът на заявки свърши вътрешните ресурси и не можа да създаде план за заявка. Това е рядко събитие и се очаква само за изключително сложни заявки или заявки, които препращат към много голям брой таблици или дялове. Моля, опростете заявката. Ако смятате, че сте получили това съобщение по погрешка, свържете се с отдела за поддръжка на клиенти за повече информация.

Грешка 8632:

Вътрешна грешка:Достигнато е ограничение на изразните услуги. Моля, потърсете потенциално сложни изрази във вашата заявка и се опитайте да ги опростите.



  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 (SSMS)

  2. Свързване на RStudio към SQL Server

  3. Какво представляват данни и информация и обеми данни

  4. Използвате ли правилните инструменти за наблюдение на производителността на базата данни?

  5. @@ROWCOUNT – Вземете броя на редовете, засегнати от последното изявление в SQL Server