AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken MySQL Datensatzanzahl im Administrator > Count im Select
Thema durchsuchen
Ansicht
Themen-Optionen

MySQL Datensatzanzahl im Administrator > Count im Select

Ein Thema von Captnemo · begonnen am 21. Sep 2011 · letzter Beitrag vom 22. Sep 2011
Antwort Antwort
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#1

MySQL Datensatzanzahl im Administrator > Count im Select

  Alt 21. Sep 2011, 23:01
Datenbank: MySQL • Version: 5.1 • Zugriff über: ZEOS
Noch ne Frage zu MySQL. Ich habe eine Tabelle mit 81615 Zeile laut MySQL Administrator. Wenn aber ein Query mache "Select Count(lfdnr) from main" dann bekomme ich nur 45358.
Ein optimieren, repair oder export-import ändern daran nichts. Woran kann das liegen? Liefert der MySQL falsche Informationen?
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: MySQL Datensatzanzahl im Administrator > Count im Select

  Alt 21. Sep 2011, 23:03
Wie wäre es mit count(*)?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: MySQL Datensatzanzahl im Administrator > Count im Select

  Alt 22. Sep 2011, 07:37
Jede Datenbank hinterlegt auch Statistikinformationen auf die es schnell Zugriff hat. Diese Statistikinfos sind jedoch nicht immer 100% aktuell.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#4

AW: MySQL Datensatzanzahl im Administrator > Count im Select

  Alt 22. Sep 2011, 07:52
Wie wäre es mit count(*)?
Gleiche Ergebnis, da das Feld Lfdnr in diesem Fall Autoinc ist und demnach niemals leer.

Jede Datenbank hinterlegt auch Statistikinformationen auf die es schnell Zugriff hat. Diese Statistikinfos sind jedoch nicht immer 100% aktuell.
Aaaaber, es bleibt auch alles so, wenn ich die DB löschen, neu anlege und dann zurückspiele. Und der MySQL-Administrator spielt sie ja über Insert's ein. Also müßte doch danach wenigstens die Anzahl so ungefähr hinhauen. Ich meine ne Abweichung um 5-10% lass ich mir ja noch gefallen. Aber das ist ja fast das Doppelte.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: MySQL Datensatzanzahl im Administrator > Count im Select

  Alt 22. Sep 2011, 08:13
Also müßte doch danach wenigstens die Anzahl so ungefähr hinhauen. Ich meine ne Abweichung um 5-10% lass ich mir ja noch gefallen. Aber das ist ja fast das Doppelte.
Nee, muss es nicht. Ich glaube bei MS SQL habe ich zu solchen Infos gelesen das die auch um 50% abweichen kann.
Aber gugst du mal hier

Zitat:
TABLE_ROWS (and perhaps some other columns in INFORMATION_SCHEMA.TABLES) may get out of sync with the current table contents, but you can update it by running ANALYZE.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: MySQL Datensatzanzahl im Administrator > Count im Select

  Alt 22. Sep 2011, 08:43
Ich habe keine Antwort zu dem Phänomen, aber man sollte bei der Frage/Diskussion unterscheiden, ob man über (veraltete) Statistiken spricht, oder SQL Aggregat Ergebnisse. (Letzteres meint natürlich kein SQL auf eine Statistik Tabelle sondern auf Echtdaten). Letztlich wäre es ja auch erbärmlich, wenn ein Sum, AVG, Count, ... nur immer ungefähr stimmt. Dann kann ich auch Karteikarten zählen.
Bin kein MySQL Spezi, als Hinweis kann ich lediglich noch liefern, dass es einige Stellen gibt, wo mySQL mit den Default Einstellungen etwas unsauber/faul (damit schneller) ist. Hab z.B. sowas mit "Group by " im Kopf, das würde bei einem Count(*) mglw. ja unter der Haube auch passieren. Neuere Versionen haben den Default evtl auch schon entsprechend "korrigiert".
Also ich würde mal nach entsprechenden "mach es exakt" Schaltern suchen.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: MySQL Datensatzanzahl im Administrator > Count im Select

  Alt 22. Sep 2011, 08:49
Die Statistikinfos sind bei jedem DBMS nicht 100% korrekt. Diese jedesmal zu bestimmen wäre ein nicht unerheblicher Aufwand wenn man nicht nur von "Hobby-DB's" spricht sondern in den Bereich von TByte großen Datenbanken gehen würde auf der im ms-Bereich sich praktisch jede Tabelle ändert.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#8

AW: MySQL Datensatzanzahl im Administrator > Count im Select

  Alt 22. Sep 2011, 08:55
Ja, das ist ja auch verständlich.
Ich wollte nur darauf hinweisen, dass es 2 verschiedene paar Schuhe sind, Statistikdaten (aus Statistiktabellen) auszulesen oder Aggregat-Abfragen auf Produktionsdaten durchzuführen. Und um letzteres geht es ja hier wohl.
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz