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

Hvad er brugen af ​​en markør i SQL Server?

Markører er en mekanisme til eksplicit at opregne gennem rækkerne af et resultatsæt i stedet for at hente det som sådan.

Men selvom de kan være mere behagelige at bruge for programmører, der er vant til at skrive While Not RS.EOF Do ... , de er typisk noget, der skal undgås i SQL Server-lagrede procedurer, hvis det overhovedet er muligt -- hvis du kan skrive en forespørgsel uden brug af markører, giver du optimeringsværktøjet en meget bedre chance for at finde en hurtig måde at implementere den på.

Helt ærligt, jeg har aldrig fundet en realistisk use case for en markør, der ikke kunne undgås, med undtagelse af nogle få administrative opgaver såsom at gå over alle indekser i kataloget og genopbygge dem. Jeg formoder, at de kan have nogle anvendelsesmuligheder i rapportgenerering eller brevfletninger, men det er sandsynligvis mere effektivt at udføre det markørlignende arbejde i et program, der taler til databasen, og lade databasemotoren gøre det, den er bedst til - indstille manipulation.



  1. Hvordan kan jeg forbinde ORACLE fra EXCEL med JDBC?

  2. Hvordan viser fora dig ulæste emner?

  3. Alternativ løsning til DCount og DLookup med MS SQL Server Backend

  4. Mysql count vs mysql SELECT, hvilken er hurtigere?