sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan forbedres ydeevnen for dato- og tidsfiltrering i SQL Server?

Blot et forslag, når det kommer til indekser på datetime i msql, er indeksets fodaftryk påvirker søgetider (Ja, det virker indlysende...men læs venligst videre).

Vigtigheden af ​​dette ved indeksering på datetime siger for eksempel '2015-06-05 22:47:20.102' indekset skal tage højde for hvert sted inden for datetime. Dette bliver meget stort rumligt og omfangsrigt. En succesfuld tilgang, som jeg har udnyttet, er at oprette en ny dato og klokkeslæt kolonne og udfylde dataene ved at afrunde tiden til timen og derefter bygge indekset på denne nye kolonne. Eksempel '2015-06-05 22:47:20.102' oversættes til '2015-06-05 22:00:00.000'. Ved at bruge denne tilgang lader vi de detaljerede data være i fred og kan vise dem eller bruge dem ved at søge i denne nye kolonne, som giver os et cirka 10x (minimum) afkast på, hvor hurtigt resultaterne returneres. Dette skyldes, at indekset ikke behøver at tage højde for felterne minutter, sekunder og millisekunder.



  1. Sådan henter du binært billede fra databasen ved hjælp af C# i ASP.NET

  2. Hvordan konverteres dato og klokkeslæt til unix-epokeværdi i Postgres?

  3. Spring Boot Query-annotering med nativeQuery virker ikke i Postgresql

  4. Jeg kan ikke finde my.cnf på min Windows-computer