Det faktum, at du har to databaser på samme server og med samme datasæt (som du sagde), sikrer ikke samme eksekveringsplan.
Her er nogle af grundene til, at forespørgselsplanen kan være anderledes:
- mdf- og ldf-filer (for hver database) er på forskellige drev. Hvis onedrives er hurtigere, vil databasen også køre forespørgslen hurtigere.
- stoppede statistikker. Hvis du har en database med nyere statistik end den anden, har SQL bedre chancer for at vælge en ordentlig (og
hurtigere) eksekveringsplan. - Indekser:Jeg ved, at du sagde, at de begge er identiske, men jeg vil tjekke, om du har samme type indekser på begge.
Fokuser på at se, hvorfor forespørgslen kører langsomt, eller se den faktiske udførelsesplan i stedet for at sammenligne. Hvis du tjekker den faktiske udførelsesplan for den langsomme forespørgsel, får du et hint om, hvorfor det kører langsommere.
Jeg ville heller ikke tilføje en NO LOCK-erklæring for at løse problemet. Efter min erfaring kan de fleste langsomme forespørgsler tunes op via kode eller indeks, i stedet for at tilføje et NO LOCK-tip, der kan få dig til at ændre eller gamle resultatsæt, afhængigt af dine transaktioner.