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

Проблем с производителността на SQL Server Express

Ако вашият индекс не се използва, това обикновено означава един от двата проблема:

  1. Предикатни условия без възможност за добавяне, като например WHERE DATEPART(YY, Column) = <something> . Обвиването на колони във функция ще наруши или елиминира способността на оптимизатора да използва ефективно индекс.

  2. Непокрити колони в изходния списък, което е много вероятно, ако имате навика да пишете SELECT * вместо SELECT specific_columns . Ако индексът не покрива вашата заявка, тогава SQL Server трябва да извърши търсене на RID/ключ за всеки ред, един по един, което може да забави заявката толкова много, че оптимизаторът просто да реши да направи сканиране на таблица вместо това.

Вижте дали едно от тези може да се отнася за вашата ситуация; ако все още сте объркани, бих препоръчал да актуализирате въпроса с повече информация за вашата схема, данните и заявките, които са бавни. 500 MB са много малко за SQL база данни, така че това не трябва да е бавно. Също така публикувайте какво има в плана за изпълнение.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. защо varchar(max) не съхранява данни повече от 8000 знака

  2. Въведение в идентичността на SQL Server

  3. Как да контролирате кои потребители могат да дешифрират SQL Server Symmetric Key Encryption

  4. Агрегатът може да не се появи в списъка с набори на оператор UPDATE. Ако актуализирате с имена на колони

  5. как да получите данни от html в колона на SQL Server