Für vorhandene Tabelle habe ich den Index hinzugefügt, um die Leistung zu überprüfen. Tabelle hat 1,5 Millionen Datensätze. Die bestehenden Kosten sind "58645". Sobald der Index erstellt wurde, werden die Kosten auf "365" reduziert. So oft habe ich den Index als "unbrauchbar" bezeichnet. Dann ändere ich und baue den Index neu auf, um zu überprüfen. Für gestern bekannt ist der Index von EXPLAIN Plan in Orakel verwendet. Aber heute, wenn ich den Index unbrauchbar und neu aufzubauen, in Explain Plan der Index Scan funktionierte nicht. Aber Leistung bleibt schnell als älter. Ich bin gefallen und neu erstellt. Aber das Problem ist immer noch. Das Abrufen ist schnell. Aber der EXPLAIN-Plan zeigt, dass der Index nicht verwendet wird und die Kosten "58645" anzeigen. Ich bleibe dabei.Index scannt nicht, nachdem es unbrauchbar gemacht wurde
0
A
Antwort
0
Viele Male, wenn Sie den neuen Index erstellen oder von Grund auf neu erstellen, wird es nicht in EXPLAIN Plan angezeigt und manchmal auch nicht für eine Weile verwendet. Um den Explain-Plan zu korrigieren, sollten die Statistiken auf dem Index gesammelt werden.
EXEC DBMS_STATS.GATHER_INDEX_STATS sollte verwendet werden oder DBMS_STATS.GATHER_TABLE_STATS mit Kaskadenoption verwenden.
0
Datenblöcke werden in der BUFFER_POOL zwischengespeichert, die Ergebnisse so, dass beeinflussen:
- Abfrage ausführen;
- Änderungsindex;
- Abfrage ausführen; - gepufferte Daten von 1 verfälschen die Preformance
- Flush Puffer Pool
- Abfrage ausführen - jetzt erhalten Sie ein echteres Maß dafür, wie "schnell" die Abfrage ist.
Haben Sie den Puffer gespült?
ALTER SYSTEM FLUSH BUFFER_POOL;
Verwandte Themen
- 1. Diese Realm Instanz bereits geschlossen wurde, ist es unbrauchbar + RxJava
- 2. Wie wird setUndcorated() aufgerufen, nachdem ein Frame sichtbar gemacht wurde?
- 3. Scanner scannt meine Eingabe nicht
- 4. Pyqt-Widget verweilt, nachdem es entfernt wurde
- 5. Wie wird es gemacht, damit der Code die Funktion ausführt, nachdem keine Bedingung übergeben wurde?
- 6. UIAlertAction - Bearbeite UIAlertAction nachdem es gesetzt wurde
- 7. Sitzungselement kommt zurück, nachdem es entfernt wurde
- 8. Warum wurde Joda Interval nicht vergleichbar gemacht?
- 9. Warum ist das div nicht ziehbar, nachdem es angehängt wurde?
- 10. Fenster wird nicht wiederhergestellt, nachdem es geschlossen wurde
- 11. Win32: Kann das Fenster nicht anzeigen, nachdem es ausgeblendet wurde?
- 12. Google Karte kann nicht gezogen/gezogen werden, auch nachdem sie wahr gemacht wurde
- 13. Rückruffunktion, nachdem .each() abgeschlossen wurde?
- 14. Realm-Instanz wurde bereits geschlossen, wodurch sie unbrauchbar wird
- 15. Verwenden Sie ein Objekt, nachdem es freigegeben wurde?
- 16. SDL_net kein OpenGL-Kontext wurde gemacht
- 17. Dismiss DialogFragment, nachdem es neu erstellt wurde, nachdem es auf wenig Speicher
- 18. Mitgliedschaft Benutzer wurde nicht gefunden, nachdem UserName geändert wurde
- 19. Das Ausblenden und Anzeigen von Markern wird nicht angezeigt, nachdem es in Google Maps gezogen wurde
- 20. Wie man X Sekunden einen Klick wartet, nachdem man kürzlich gemacht wurde? - JQuery
- 21. Drop-down-Funktion funktioniert nicht mehr, nachdem sie mit dem Z-Index nach vorne platziert wurde
- 22. Emberjs: Wie zur zuletzt aufgerufenen Route umgeleitet wird, nachdem Sitzung ungültig gemacht wurde
- 23. String wurde leer nachdem er gefüllt wurde
- 24. PHPStorm nach Absturz unbrauchbar
- 25. CSS-Übergang macht Canvas unbrauchbar
- 26. RealmSwift "Objekt wurde gelöscht oder ungültig gemacht"
- 27. Cell of Collection lässt sich nicht abwählen, nachdem es ausgewählt wurde
- 28. iOS Erkennen, dass eine Berührung gemacht wurde, aber nicht abfangen
- 29. Title 1.0.0 Mixed Index kann nicht neu indiziert werden, nachdem eine existierende Eigenschaft hinzugefügt wurde
- 30. Objekt wurde gelöscht oder ungültig gemacht. (Realm)
Für solche Tests, die Sie besser 'ALTER INDEX verwenden können ... INVISIBLE;', siehe [ALTER INDEX] (http://docs.oracle.com/database/121/SQLRF/statements_1012.htm#SQLRF52779) –
sollte die Leistung Ihr Kriterium sein. aber wegen der Anzahl von Aufzeichnungen, die durch Abfrage abgerufen werden, kann der Plan von Indexbereichsscan zu vollständigem Tabellenscan wechseln. –
Versuchen Sie, sich den tatsächlichen Ausführungsplan in der Sitzungsablaufverfolgung anzusehen, er kann von * explainplan * abweichen. –