programmerare använder standard frågespråk ( SQL ) för att få tillgång till en databas och ändra dess innehåll . Eftersom en databas innehåller betydligt mer data än vad den kan bearbeta vid varje given tidpunkt , det begränsar sitt arbete till en liten del av minnet som kallas sammanhanget området . Programmerare komma sammanhanget området med hjälp av en markör . Implicita och explicita markörer tjänar samma grundläggande syfte att tillåta programmerare att komma till raderna som returneras av en SQL-sats sekventiellt , men var också erbjuder en unik uppsättning av starka och svaga sidor . Creation
Som standard accessar SQL data med en implicit markör . Programmerare och ingenjörer databasen skriver helt enkelt ett SQL-uttryck och verkställa det , och SQL automatiskt förlita sig på ett implicit markören för att köra ett uttalande . Du behöver inte exemplifiera eller deklarera en variabel att använda en implicit markör . För att använda en explicit markör , dock måste du instansiera explicit den med cursor_name sökord . När tråden lämnar kodblock , avlägsnar SQL uttryckligt markören från minnet .
Single Row Retrieval
p Om de används korrekt , utför en explicit markör mer effektivt än ett implicit markören när du hämtar en enda rad från en databas . En implicit Markören måste göra två tur-och returresor för att återvända en rad från en databas . Den första resan tjänar att hämta raden , den andra för att bedöma om antalet rader kommer att överskrida det maximala antalet tillåtna rader . Däremot gör en explicit markör endast en rundresa till databasen för att hämta en rad . Du ska inte oroa dig för detta mindre skillnad under normala förhållanden , men i situationer där du måste utföra många enradiga hämtning , använd en explicit markör .
Hastighet
Under den stora majoriteten av omständigheterna , exekverar en SQL-fråga som bygger på ett implicit markören snabbare än en fråga som bygger på en uttalad markör . Naturligtvis bör du använda en explicit fråga när du behöver köra ett mycket stort antal enradiga frågor , men under nästan någon annan omständighet , bör du använda en implicit fråga . Implicit frågor inte bara köra snabbare , men programmerare hittar dem lättare att använda och hantera .
Kontroll
En programmerare inte kan utöva mycket större kontroll över en explicit markör än en implicit markör . Du kan direkt styra rörelsen och genomförande av en explicit markör , men en implicit markören står under oberoende kontroll av SQL interna motor . Du kan inte komma åt en implicit markören attribut som du kan med en extern markör , inte heller kan du enkelt använda förgrening eller andra uttalanden beslutsregler .