sql >> Databáze >  >> RDS >> Sqlserver

Problém s výkonem SQL Server Express

Pokud se váš index nepoužívá, znamená to obvykle jeden ze dvou problémů:

  1. Předikátové podmínky bez možnosti změny, například WHERE DATEPART(YY, Column) = <something> . Zalamování sloupců do funkce zhorší nebo eliminuje schopnost optimalizátoru efektivně používat index.

  2. Nepokryté sloupce ve výstupním seznamu, což je velmi pravděpodobné, pokud máte ve zvyku psát SELECT * místo SELECT specific_columns . Pokud index nepokrývá váš dotaz, musí SQL Server provést vyhledávání RID/klíče pro každý řádek, jeden po druhém, což může zpomalit dotaz natolik, že se optimalizátor rozhodne místo toho provést prohledání tabulky.

Zjistěte, zda by se jedna z nich mohla vztahovat na vaši situaci; pokud jste stále zmatení, doporučuji aktualizovat otázku o další informace o vašem schématu, datech a dotazech, které jsou pomalé. 500 MB je pro SQL databázi velmi málo, takže by to nemělo být pomalé. Také zveřejněte, co je v prováděcím plánu.



  1. Dokáže MySQL zřetězit řetězce s ||

  2. Jak vytvořit vnitřní spojení v django?

  3. Dotaz Codeigniter vrací prázdný

  4. Aktualizace pomocí Join(s) - Multi DB/Table