ich möchte die Anzahl Datensätze die sich in einer Tabelle befinden abfragen.
Der Befehl:
Code: Alles auswählen
select count(*) from tabellen_name;
Kennt jemand eine schnellere Lösung / Befehl?
Gruss Carlo
Moderator: Moderatoren
Code: Alles auswählen
select count(*) from tabellen_name;
hast du ein Field __RECORD in deiner Table ?
Code: Alles auswählen
Query : SELECT * FROM fsicher___record_seq
Table have 10 Property 0.06 Sec.
sequence_name : fsicher___record_seq
last_value : 548329
start_value : 1
increment_by : 1
max_value : 9223372036854775807
min_value : 1
cache_value : 1
log_cnt : 0
is_cycled : f
is_called : t
Table have 548329 entry
Code: Alles auswählen
Query: select * from tabellenname_id_seq;
Ergebnis nach 41ms
last_value xxxxxxxxxxx
JA ... aber im welchen Verhältnis liegt der Wert und wofür willst du die "genaue" Anzahl
Als "Inventarwert" wieviele Datensaätze sind vorhanden.wofür willst du die "genaue" Anzahl
Damit markierts du einen Satz als gelöscht ohne den Satz wirklich aus der Datenbank zu entfernen. Die Serial zeigt dann auch nicht den "Bestand der gültigen" Datensätze sondern wie bei mir den Wert "Angelegte Sätze seit Beginn" den niemand wirklich interessiert.Field __DELETED was mir reicht um einen gelöschten Satz zu erkennen
Diese Tabelle belegt ca. 350 GB mit ca. 500 Mio Datensätzen.Wir sollten mal klären, wie groß die Datenbank tatsächlich ist, wenn das Ergebnis um Millionen Datensätze daneben liegt
unabhängig von den 10min ist das COUNT(*) ja wohl nicht alles was du machst.PDF v9.1 Seite 300
Note: Users accustomed to working with other SQL database management systems might be
disappointed by the performance of the count aggregate when it is applied to the entire table. A
query like:will be executed by PostgreSQL using a sequential scan of the entire table.Code: Alles auswählen
SELECT count(*) FROM sometable;
einwie lange dauert denn die ganze Arbeit wenn du dich durch 500 Mio Datensätzen durch arbeitest
Code: Alles auswählen
select * from tebellenname where mw1 >= 20000 and mw1 <= 30000;