etwas off-topic
hallo sina
offenbar verwendest du oracle. unter oracle sollte man regelmässig die statistiken für die einzelnen tabellen neu berechnen, da sonst der cost-based-optimizer schrott liefern KANN. folge: zugriffe werden teilweise schlagartig langsamer.
die alte methode um die statistik zu berechnen wäre:
analyze table [compute|estimate] statitistics ;
compute berechnet die ergebnisse genau, ist damit auch ziemlich langsam. estimate schätzt die ergebnisse aufgrund ca. 10 % der daten, ist damit hinreichend genau und viel schneller.
angenehmer nebeneffekt: in der user_tables steht dann die anzahl der zeilen im feld „num_rows“. die abfrage reduziert sich damit auf:
select table_name, num_rows from tabs ;
aber wie gesagt, geht nur mit aktuellen statistiken. sofern du nicht auf datensatz genau die ergebnisse benötigst, ist das aber auf jeden fall eine sinnvolle alternative (und vielleicht wird deine applikation dadurch sogar schneller).
es gibt auch eine „neue“ variante, die statistiken zu berechnen (läuft seit oracle 8 über system-prozeduren). dafür solltest du aber den enterprise-manager verwenden, sonst wird das ganze mühsam. die alte variante funkioniert aber nach wie vor (auch mit aktueller oracle-version).
erwin