sql >> Databasteknik >  >> RDS >> Sqlserver

Välj var klausulutvärderingsordning

Det finns inga garantier för utvärderingsordning. Optimeraren kommer att försöka hitta det mest effektiva sättet att köra frågan med hjälp av tillgänglig information.

I ditt fall, eftersom c är indexerat och d inte är det, bör optimeraren titta in i indexet för att hitta alla rader som matchar predikatet på c, och sedan hämta dessa rader från tabelldata för att utvärdera predikatet på d.

Men om det fastställer att indexet på c inte är särskilt selektivt (även om det inte är i ditt exempel, en könskolumn indexeras sällan på ett användbart sätt), kan den besluta sig för att göra tabellskanningen ändå.

För att bestämma exekveringsordningen bör du få en förklarande plan för din fråga. Men inse att planen kan ändras beroende på vad optimeraren tycker är den bästa frågan just nu.



  1. Skapa ett Docker Swarm Cluster på Azure Container Service

  2. SQL Server 2005 Hur skapar man en unik begränsning?

  3. Varning:mysql_query():det angivna argumentet är inte en giltig MySQL-Link-resurs

  4. Får följande fel - Ingen lämplig drivrutin hittades för jdbc:postgresql://localhost:5432/testDBMS