Was bedeutet "Unique Scan", "Range Scan" und "Skip Scan"? Können wir explizit entscheiden, welchen Scan verwendet werden soll? Was sind die Vor- und Nachteile all dieser Scans?Entfernungsabtastung vs Einzelscan vs Überspringungssuche
Antwort
Dies sind ziemlich selbsterklärend durch ihren Namen:
A "einzigartiger" Scan-Scans für einen einzelnen Wert in einem eindeutigen Index.
Ein "Bereich" -Scan beginnt bei einem Startwert und liest die Indexeinträge sequentiell (dh entlang des B-Baums), bis ein Wert gefunden wird, der über einen zweiten Wert hinausläuft (Suche nach einem einzelnen Wert) Wert auf einem nicht eindeutigen Index ist ein Bereichsscan, BTW).
Ein "Überspringen" -Scan verwendet nur die führende (n) Spalte (n) eines zusammengesetzten Indexes, um seine unterschiedlichen Werte zu berechnen (wenn also ein Wert gefunden wird, "springt" er über diesen Index, bis er den nächsten findet)).
ist Jedes geeignete (und optimal) für eine bestimmte Art von Aufzeichnungsanpassung. Das SQL-Optimierungsprogramm wählt fast immer das für eine bestimmte Situation am besten geeignete aus (wenn Statistiken aktuell sind).
- 1. Klasse vs Paket vs Modul vs Komponente vs Container vs Service vs Plattform in Java Welt
- 2. Opa vs Dart vs Haxe vs Coffee
- 3. Akkumulieren vs falten vs reduzieren vs komprimieren
- 4. body.scrollTop vs documentElement.scrollTop vs window.pagYOffset vs window.scrollY
- 5. ACE vs Boost vs Poco vs wxWidgets
- 6. Inline vs __inline vs __inline__ vs __forceinline?
- 7. Metaphon vs Levenshtein vs Soundex vs Hamming
- 8. Standort vs GeoPoint vs 1E6 vs Aufladen
- 9. VS 2013 MSTest vs nUnit vs xUnit
- 10. Exec vs ExecWait vs ExecShell vs nsExec :: Exec vs nsExec :: ExecToLog vs nsExec :: ExecToStack vs ExecDos vs ExeCmd
- 11. SpiderMonkey vs JavaScriptCore vs?
- 12. & vs * und | vs +
- 13. Bundler vs RVM vs Gems vs RubyGems vs Gemsets vs System Ruby
- 14. Mathematica: Unevaluated vs Aufschieben vs Halten vs Holdform vs HoldAllComplete vs etc etc
- 15. ScheduledExecutorService vs Timer vs Handler
- 16. HttpRequest vs HttpRequestMessage vs HttpRequestBase
- 17. pycuda vs theano vs pylearn2
- 18. Htmlentities vs addslashes vs mysqli_real_escape_string
- 19. Xamarin vs Mono vs Monodevelop
- 20. Ansichtsfenster vs Fenster Vs Dokument
- 21. Redis vs Memcahced vs Hazelcast
- 22. java.lang.Void vs void vs Null
- 23. import vs __import __() vs importlib.import_module()?
- 24. QueryPerformanceCounter() vs QueryInterruptTime() vs KeQueryInterruptTime()
- 25. apc_define_constants vs hidef vs definieren
- 26. Zeiger vs auto_ptr vs shared_ptr
- 27. ASSERT vs. ATLASSERT vs. assert
- 28. Int vs NSNumber vs NSInteger
- 29. managedQuery() vs context.getContentResolver.query() vs android.provider.something.query()
- 30. vs Eigenschaft vs Methode erhalten
Ich habe nie von "Unix-Scan" in Oracle gehört. Ich denke du meinst "* unique * scan"? Und PL/SQL wird ** nur ** in gespeicherten Prozeduren verwendet. Alles andere ist "nur" SQL. Diese Seite könnte für Sie interessant sein: http://use-the-index-luke.com Alle Ausführungsvorgänge sind auch im Handbuch dokumentiert: http://docs.oracle.com/cd/E11882_01/server.112/e16638 /ex_plan.htm#i23461 –
Ja ich meine einzigartigen Scan .. Danke für die Klärung, bearbeitet den Beitrag. –
[Dieses Kapitel] (http://docs.oracle.com/cd/E16655_01/server.121/e15858/tgsql_optop.htm#CHDFJIJA) des SQL-Tuning-Handbuchs enthält eine gute Beschreibung der einzelnen von Ihnen erwähnten Indexzugriffsmethoden sowie einige andere. –