Maximale Datensätze in MySQL Datenbank
Pennywise
- datenbank
Hallo zusammen !
Ich würde gerne wissen ob ich in MySQL irgendwo eine maximale Datensatzzahl pro Tabelle eingeben kann. Ich habe gerade das Problem das eine Tabelle von phpbb immer voll läuft.
mysql> select count(*) from phpbb_search_wordmatch;
+----------+
| count(*) |
+----------+
| 57342021 |
+----------+
Über eine kurze Info würde ich mich sehr freuen.
Vielen Dank im voraus
Gruß
Pennywise
Hallo,
Ich würde gerne wissen ob ich in MySQL irgendwo eine maximale Datensatzzahl pro Tabelle eingeben kann.
Nein.
Ich habe gerade das Problem das eine Tabelle von phpbb immer voll läuft.
mysql> select count(*) from phpbb_search_wordmatch;
+----------+
| count(*) |
+----------+
| 57342021 |
+----------+
dies ist selbst ohne die (standardmäßig einkompilierte Option --with-big-tables) kein Problem, dann hast Du etwa 2^32 Zeilen maximal, mit der angeführten Option 2^64 Zeilen.
Dein Problem liegt somit nicht an der maximalen Zeilenzahl sondern an anderer Stelle. Welche Fehlermeldung erhältst Du denn (bzw. wird geloggt)?
Welche MySQL-Version, welche Storage-Engine, wieviel Platz ist ggf. auf dem Medium, bzw. in der Datei ...
Freundliche Grüße
Vinzenz
Hallo Vinzenz!
Vielen Dank für die schnelle Antwort...
Wenn ich mir z.B. mit mytop die aktuellen Querys anschaue, dann sieht das so aus:
Id User Host/IP DB Time Cmd Query or State
-- ---- ------- -- ---- --- ----------
49218678 root localhost mysql 0 Query show full processlist
49218531 kunde1 10.0.1.3 kunde1 84 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49218435 kunde1 10.0.1.3 kunde1 122 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49218238 kunde1 10.0.1.3 kunde1 229 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49217803 kunde1 10.0.1.3 kunde1 446 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49217243 kunde1 10.0.1.3 kunde1 756 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49217201 kunde1 10.0.1.3 kunde1 776 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49217127 kunde1 10.0.1.3 kunde1 820 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49216504 kunde1 10.0.1.3 kunde1 1169 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49216077 kunde1 10.0.1.3 kunde1 1415 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49215745 kunde1 10.0.1.3 kunde1 1617 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49215562 kunde1 10.0.1.3 kunde1 1735 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49215508 kunde1 10.0.1.3 kunde1 1767 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49215361 kunde1 10.0.1.3 kunde1 1858 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49214762 kunde1 10.0.1.3 kunde1 2205 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49214681 kunde1 10.0.1.3 kunde1 2249 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49214566 kunde1 10.0.1.3 kunde1 2324 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49213886 kunde1 10.0.1.3 kunde1 2672 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49213804 kunde1 10.0.1.3 kunde1 2719 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49212771 kunde1 10.0.1.3 kunde1 3384 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
49212604 kunde1 10.0.1.3 kunde1 3490 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
Eine echte Fehlermeldung gibt es leider nicht. Das Problem ist, dass der mysql so lange "rumrödelt" und die Last des Servers tierisch nach oben geht.
Wenn ich die besagte Tabelle leere, dann funzt wieder alles. Daher bin ich davon ausgegangen, das einfach zu viel in der Tabelle drin ist.
Hast du noch einen Tip wo ich suchen kann?
Danke Dir.
Gruß
Pennywise
Mahlzeit Pennywise,
49212604 kunde1 10.0.1.3 kunde1 3490 Query SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
Eine echte Fehlermeldung gibt es leider nicht.
Dann gibt es auch keinen Fehler.
Das Problem ist, dass der mysql so lange "rumrödelt" und die Last des Servers tierisch nach oben geht.
Was hast Du für Indizes auf der Tabelle? Werden diese auch genutzt?
Wenn ich die besagte Tabelle leere, dann funzt wieder alles. Daher bin ich davon ausgegangen, das einfach zu viel in der Tabelle drin ist.
Nein. Nur der Zugriff auf die Tabelle braucht anscheinend (zu) lange.
MfG,
EKKi
Hallo
Wenn ich mir z.B. mit mytop die aktuellen Querys anschaue, dann sieht das so aus:
...
...SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist
Ist das der gesamte Query? Keinerlei Einschränkung über eine WHERE-Klausel? Wenn ja, dann wird das Feld word_id _jeder_ Zeile der Tabelle phpbb_search_wordmatch in die Ergebnismenge überführt. Das dauert bei 57 Mio. Datensätzen natürlich entsprechend.
Wenn ich die besagte Tabelle leere, dann funzt wieder alles. Daher bin ich davon ausgegangen, das einfach zu viel in der Tabelle drin ist.
Die Frage ist die Frage nach der Frage. ;-)
Ist es dein Plan, die Werte des Feldes word_id *sämtlicher* Tabellenzeilen zu ermitteln? Wenn nicht, muss eina anderer Query benutzt werden.
Hast du noch einen Tip wo ich suchen kann?
Im Falle des Falles bei deinem Query, wie gesagt.
Tschö, Auge