sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server Express prestandaproblem

Om ditt index inte används, indikerar det vanligtvis ett av två problem:

  1. Icke-sargerbara predikatvillkor, såsom WHERE DATEPART(YY, Column) = . Att radbryta kolumner i en funktion kommer att försämra eller eliminera optimerarens förmåga att effektivt använda ett index.

  2. Icke täckta kolumner i utdatalistan, vilket är mycket troligt om du har för vana att skriva SELECT * istället för SELECT specific_columns . Om indexet inte täcker din fråga måste SQL Server utföra en RID/nyckelsökning för varje rad, en efter en, vilket kan sakta ner frågan så mycket att optimeraren bara bestämmer sig för att göra en tabellsökning istället.

Se om något av dessa kan gälla din situation; om du fortfarande är förvirrad rekommenderar jag att du uppdaterar frågan med mer information om ditt schema, data och frågor som är långsamma. 500 MB är mycket litet för en SQL-databas, så det här borde inte vara långsamt. Lägg även upp vad som står i genomförandeplanen.



  1. SQL och flera satser i lagrad procedur

  2. Hur man konverterar en sträng till ett datum i PostgreSQL

  3. Hur tar man bort filer eller bilder från mapp och databas i Laravel?

  4. Hur delar man en mysql-anslutning mellan flera trådar?