Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Leistung von Oracle CLOB

Gibt es ein Order By in der Abfrage? 10.000 Zeilen sind ziemlich viel, wenn es sortiert werden muss.

Außerdem ist das Abrufen des PK kein fairer Test im Vergleich zum Abrufen des gesamten CLOB. Oracle speichert die Tabellenzeilen mit wahrscheinlich vielen in einem Block, aber jeder der CLOBs (wenn sie> 4K sind) wird außerhalb der Reihe gespeichert, jeder in einer Reihe von Blöcken. Das Scannen der Liste der PKs wird daher schnell sein. Außerdem gibt es wahrscheinlich einen Index auf dem PK, sodass Oracle die Indexblöcke schnell scannen und nicht einmal auf die Tabelle zugreifen kann.

4 Sekunden scheinen ein wenig hoch zu sein, aber es sind 2 MB, die möglichst von der Festplatte gelesen und über das Netzwerk zu Ihrem Java-Programm transportiert werden müssen. Netzwerk könnte ein Problem sein. Wenn Sie einen SQL-Trace der Sitzung durchführen, zeigt er Ihnen genau, wo die Zeit verbracht wird (Festplattenlesevorgänge oder Netzwerk).