Det faktum att du har två databaser på samma server och med samma datauppsättning (som du sa) garanterar inte samma exekveringsplan.
Här är några av anledningarna till att frågeplanen kan vara annorlunda:
- mdf- och ldf-filer (för varje databas) finns på olika enheter. Om onedrives är snabbare kommer databasen att köra frågan snabbare också.
- stoppad statistik. Om du har en databas med nyare statistik än den andra har SQL bättre chanser att välja en korrekt (och
snabbare) exekveringsplan. - Index:Jag vet att du sa att de båda är identiska, men jag skulle kontrollera om du har samma typ av index på båda.
Fokusera på att se varför frågan går långsamt eller se den faktiska exekveringsplanen, istället för att jämföra. Genom att kontrollera den faktiska exekveringsplanen för den långsamma frågan kommer du att få en fingervisning om varför det går långsammare.
Dessutom skulle jag inte lägga till ett NO LOCK-uttalande för att lösa problemet. Enligt min erfarenhet kan de flesta långsamma frågor ställas in via kod eller index, istället för att lägga till ett NO LOCK-tips som kan få dig att ändra eller gamla resultatuppsättningar, beroende på dina transaktioner.