mysql lahmt nach längerer Zeit
steffi
- datenbank
hi.
hab ein import script für eine mysqldb.
leider wird die datenbank immer langsamer, je länger der mysql server läuft und das import script darauf zugreift. wenn ich den mysql server restarte, fügt er über 100 datensätze pro sec hinzu. nach 10 stunden nur noch 10 pro sec.
und das hab ich nun mehrmals getestet! jedes mal das selbe...
und es ist kein vserver o.ä..
bin der einzige user des servers und derzeit greift auch niemand (keine besucher) darauf zu, da der rechner noch inoffiziell ist und nicht ans offene netz angeschlossen ist.
bitte um tipps, wie man die geschwindigkeit erhalten kann...
so sieht der status aus:
Laufzeit-Informationen
Aktualisieren Zurücksetzen MySQL - Dokumentation
Dieser MySQL-Server läuft bereits 0 Tage, 9 Stunden, 42 Minuten und 30 Sekunden. Er wurde am 05. Juni 2006 um 00:23 gestartet.
InnoDB SSL Handler Abfrage-Cache Prozesse Binäres Protokoll Temporäre Daten Verzögertes Einfügen (delayed inserts) Schlüssel-Cache Tabellenverknüpfungen (joins) Replikation Sortierung Tabellen Transaction coordinator
Servertraffic: In diesen Tabellen wird der Netzwerktraffic dieses MySQL-Servers seit dessen Start aufgeführt.
Traffic Tip ø pro Stunde
Empfangen 60 MB 6 MB
Gesendet 5 MB 552 KB
Insgesamt 66 MB 7 MB
Verbindungen ø pro Stunde %
max. gleichzeitige Verbindungen 5 --- ---
Fehlgeschlagen 0 0,00 0,00%
Abgebrochen 0 0,00 0,00%
Insgesamt 225 23,18 100,00%
Abfragestatistik: Seit seinem Start wurden 61.927 Abfragen an diesen MySQL-Server gesandt.
Insgesamt ø pro Stunde ø pro Minute ø pro Sekunde
62 k 6,38 k 106,31 1,77
Abfrageart ø pro Stunde %
admin commands 0 0,00 0,00%
alter db 0 0,00 0,00%
alter table 0 0,00 0,00%
analyze 0 0,00 0,00%
backup table 0 0,00 0,00%
begin 0 0,00 0,00%
change db 259 26,68 0,42%
change master 0 0,00 0,00%
check 0 0,00 0,00%
checksum 0 0,00 0,00%
commit 0 0,00 0,00%
create db 0 0,00 0,00%
create function 0 0,00 0,00%
create index 0 0,00 0,00%
create table 0 0,00 0,00%
delete 0 0,00 0,00%
delete multi 0 0,00 0,00%
do 0 0,00 0,00%
drop db 0 0,00 0,00%
drop function 0 0,00 0,00%
drop index 0 0,00 0,00%
drop table 0 0,00 0,00%
drop user 0 0,00 0,00%
flush 0 0,00 0,00%
grant 0 0,00 0,00%
ha close 0 0,00 0,00%
ha open 0 0,00 0,00%
ha read 0 0,00 0,00%
help 0 0,00 0,00%
insert 4 k 362,58 5,70%
insert select 0 0,00 0,00%
kill 0 0,00 0,00%
load 0 0,00 0,00%
load master data 0 0,00 0,00%
load master table 0 0,00 0,00%
lock tables 0 0,00 0,00%
optimize 0 0,00 0,00%
preload keys 0 0,00 0,00%
purge 0 0,00 0,00%
purge before date 0 0,00 0,00%
rename table 0 0,00 0,00%
repair 0 0,00 0,00%
replace 56 k 5,81 k 91,37%
replace select 0 0,00 0,00%
reset 0 0,00 0,00%
restore table 0 0,00 0,00%
revoke 0 0,00 0,00%
revoke all 0 0,00 0,00%
rollback 0 0,00 0,00%
Abfrageart ø pro Stunde %
savepoint 0 0,00 0,00%
select 884 91,06 1,43%
set option 308 31,73 0,50%
show binlog events 0 0,00 0,00%
show binlogs 5 0,52 0,01%
show charsets 41 4,22 0,07%
show collations 41 4,22 0,07%
show column types 0 0,00 0,00%
show create db 0 0,00 0,00%
show create table 1 0,10 0,00%
show databases 2 0,21 0,00%
show errors 0 0,00 0,00%
show fields 15 1,55 0,02%
show grants 34 3,50 0,06%
show innodb status 0 0,00 0,00%
show keys 14 1,44 0,02%
show logs 0 0,00 0,00%
show master status 0 0,00 0,00%
show ndb status 0 0,00 0,00%
show new master 0 0,00 0,00%
show open tables 0 0,00 0,00%
show privileges 0 0,00 0,00%
show processlist 1 0,10 0,00%
show slave hosts 0 0,00 0,00%
show slave status 0 0,00 0,00%
show status 2 0,21 0,00%
show storage engines 0 0,00 0,00%
show tables 55 5,67 0,09%
show triggers 0 0,00 0,00%
show variables 102 10,51 0,17%
show warnings 0 0,00 0,00%
slave start 0 0,00 0,00%
slave stop 0 0,00 0,00%
stmt close 0 0,00 0,00%
stmt execute 0 0,00 0,00%
stmt fetch 0 0,00 0,00%
stmt prepare 0 0,00 0,00%
stmt reset 0 0,00 0,00%
stmt send long data 0 0,00 0,00%
truncate 0 0,00 0,00%
unlock tables 0 0,00 0,00%
update 0 0,00 0,00%
update multi 0 0,00 0,00%
xa commit 0 0,00 0,00%
xa end 0 0,00 0,00%
xa prepare 0 0,00 0,00%
xa recover 0 0,00 0,00%
xa rollback 0 0,00 0,00%
xa start 0 0,00 0,00%
hast du es einfach mal nach jedem dump/import mit einer tabellen optimierung versucht ???
dürfte am meisten sinn machen ..
cu
kai
hast du es einfach mal nach jedem dump/import mit einer tabellen optimierung versucht ???
es ist der erste import auf dem neuen system. warum also schon eine leere db optimieren?
Hallo,
Hast du auf der Tabelle viele Indizes? Du könntest sie vor dem Import wegwerfen und nach dem Import wieder erzeugen.
Teile dem Forum bitte doch mal auch die Version deines MySQL mit.
Grüsse,
Frank
Teile dem Forum bitte doch mal auch die Version deines MySQL mit.
5.0.18
und die indizes sind recht wenige bzw dürften nicht stören. habe dasselbe script auf einem anderen server laufen lassen, der eigentlich wesentlich langsamer ist und mysql4.1 drauf hat. da gings ja auch und zwar konstant mit 60ds/sec.
Okay, Differenzdiagnose ...
Vielleicht entsteht auf der 5.* Maschine irgendwo ein Flaschenhals beim Speicherverbraten, irgendein Puffer staut sich ...
Aber nochmal Grundsatzfrage: Was genau macht dein Script? Es importiert. Was? Von woher (flatfile, netzwerk ..)?
Was passiert, wenn du das Script inkrementell laufen lässt und die Datenmenge beschränkst, also auf ca. 10, 8, 6, 4 Teile aufteilst?
Ciao, Frank
- das Script ist kompatibel mit 4.1 aber nicht mit 5.*
- weil 5.* einen Bug hat
den größten unterschied hab ich bereits überwunden: utf8 muss ja hier wesentlich sauberer kodiert werden. davor hat mysql das irgendwie selbst geschnallt, ob ich umlaute o.ä. sende...
Vielleicht entsteht auf der 5.* Maschine irgendwo ein Flaschenhals beim Speicherverbraten, irgendein Puffer staut sich ...
hierfür hab ich ja den laufzeitstatus gepostet, evt. lässt daraus etwas schließen, wo der flaschenhals sitzt
Aber nochmal Grundsatzfrage: Was genau macht dein Script? Es importiert. Was? Von woher (flatfile, netzwerk ..)?
also, es sind unmengen an produkten, deren infos in einer tabelle gespeichert werden. diese tabelle hat einen querverweis (kategorie-id) zu einer zweiten tabelle mit den kategorien, welche auch, sofern nicht vorhanden, erzeugt werden.
Was passiert, wenn du das Script inkrementell laufen lässt und die Datenmenge beschränkst, also auf ca. 10, 8, 6, 4 Teile aufteilst?
das halte ich für weniger gut. und warum die umstände, wenn es auf dem "alten" einwandfrei läuft?!
Hallo Freunde des gehobenen Forumsgenusses,
Was passiert, wenn du das Script inkrementell laufen lässt und die Datenmenge beschränkst, also auf ca. 10, 8, 6, 4 Teile aufteilst?
das halte ich für weniger gut. und warum die umstände, wenn es auf dem "alten" einwandfrei läuft?!
Zeig doch mal ein paar typische SQL-Statements und die zugehörigen Tabellen, vielleicht bringt es noch Performance mehrere (hundert) Datensaätze zusammenzufassen.
Gruß
Alexander Brock
Zeig doch mal ein paar typische SQL-Statements und die zugehörigen Tabellen, vielleicht bringt es noch Performance mehrere (hundert) Datensaätze zusammenzufassen.
nunja, das script arbeitet schon so, dass es immer 80 produkte aus der import-datei einliest um den arbeitsspeicher nicht zu überschreiten. dann folgt jedesmal ein hinzufügen der 80 produkte in 1 bis 2 schritten. ist bereits eine die kategorie vorhanden, wird einfach in einem insert ...values...kategorie_id=select id from kategorie_id where ...kategorie_bezeichnung=... hinzugefügt. schlägt das statement fehl, liegt das daran dass keine derartige kategorie_bezeichnung existiert. in einem solchen falle ist der 2. schritt notwendig und eine kategorie wird hinzugefügt.
wie meinst Du das mit dem zusammenfassen mehrerer datensätze?
geht in dem fall eher nicht, da sonst jedes mal z.b. mit replace into tab_kategorien der ds für eine kategorie-bezeichnung hinzugefügt werden müsste, egal, ob diese schon existiert oder nicht. das dauert noch länger!
Anfang Variable Wert Beschreibung
Flush_commands 1 Anzahl der ausgeführten FLUSH-Befehle.
Last_query_cost 0 Die Kosten für die zuletzt verarbeitete Abfrage wie vom Abfrage-Optmierer berechnet. Nützlich um verschiedene Formulierungen für eine Abfrage zu vergleichen. Der Wert 0 besagt das bisher keine Abfrage übersetzt wurde.
Slow_queries 0 Anzahl der Anfragen, die länger als long_query_time benötigten. MySQL - Dokumentation
Anfang InnoDB Variable Wert Beschreibung
Variablen InnoDB-Status MySQL - Dokumentation
Innodb_buffer_pool_pages_data 0 The number of pages containing data (dirty or clean).
Innodb_buffer_pool_pages_dirty 0 The number of pages currently dirty.
Innodb_buffer_pool_pages_flushed 0 The number of buffer pool pages that have been requested to be flushed.
Innodb_buffer_pool_pages_free 0 The number of free pages.
Innodb_buffer_pool_pages_latched 0 The number of latched pages in InnoDB buffer pool. These are pages currently being read or written or that can't be flushed or removed for some other reason.
Innodb_buffer_pool_pages_misc 0 The number of pages busy because they have been allocated for administrative overhead such as row locks or the adaptive hash index. This value can also be calculated as Innodb_buffer_pool_pages_total - Innodb_buffer_pool_pages_free - Innodb_buffer_pool_pages_data.
Innodb_buffer_pool_pages_total 0 Total size of buffer pool, in pages.
Innodb_buffer_pool_read_ahead_rnd 0 The number of "random" read-aheads InnoDB initiated. This happens when a query is to scan a large portion of a table but in random order.
Innodb_buffer_pool_read_ahead_seq 0 The number of sequential read-aheads InnoDB initiated. This happens when InnoDB does a sequential full table scan.
Innodb_buffer_pool_read_requests 0 The number of logical read requests InnoDB has done.
Innodb_buffer_pool_reads 0 The number of logical reads that InnoDB could not satisfy from buffer pool and had to do a single-page read.
Innodb_buffer_pool_wait_free 0 Normally, writes to the InnoDB buffer pool happen in the background. However, if it's necessary to read or create a page and no clean pages are available, it's necessary to wait for pages to be flushed first. This counter counts instances of these waits. If the buffer pool size was set properly, this value should be small.
Innodb_buffer_pool_write_requests 0 The number writes done to the InnoDB buffer pool.
Innodb_data_fsyncs 0 The number of fsync() operations so far.
Innodb_data_pending_fsyncs 0 The current number of pending fsync() operations.
Innodb_data_pending_reads 0 The current number of pending reads.
Innodb_data_pending_writes 0 The current number of pending writes.
Innodb_data_read 0 Wieviel Daten bisher gelesen wurden, in Byte.
Innodb_data_reads 0 Wie oft Daten gelesen wurden.
Innodb_data_writes 0 Wie oft Daten geschrieben wurden.
Innodb_data_written 0 Wieviel Daten bisher geschrieben wurden, in Byte.
Innodb_dblwr_pages_written 0 The number of doublewrite writes that have been performed and the number of pages that have been written for this purpose.
Innodb_dblwr_writes 0 The number of doublewrite writes that have been performed and the number of pages that have been written for this purpose.
Innodb_log_waits 0 The number of waits we had because log buffer was too small and we had to wait for it to be flushed before continuing.
Innodb_log_write_requests 0 The number of log write requests.
Innodb_log_writes 0 The number of physical writes to the log file.
Innodb_os_log_fsyncs 0 The number of fsyncs writes done to the log file.
Innodb_os_log_pending_fsyncs 0 The number of pending log file fsyncs.
Innodb_os_log_pending_writes 0 Pending log file writes.
Innodb_os_log_written 0 The number of bytes written to the log file.
Innodb_page_size 0 The compiled-in InnoDB page size (default 16KB). Many values are counted in pages; the page size allows them to be easily converted to bytes.
Innodb_pages_created 0 The number of pages created.
Innodb_pages_read 0 The number of pages read.
Innodb_pages_written 0 The number of pages written.
Innodb_row_lock_current_waits 0 The number of row locks currently being waited for.
Innodb_row_lock_time 0 The total time spent in acquiring row locks, in milliseconds.
Innodb_row_lock_time_avg 0 The average time to acquire a row lock, in milliseconds.
Innodb_row_lock_time_max 0 The maximum time to acquire a row lock, in milliseconds.
Innodb_row_lock_waits 0 The number of times a row lock had to be waited for.
Innodb_rows_deleted 0 The number of rows deleted from InnoDB tables.
Innodb_rows_inserted 0 The number of rows inserted in InnoDB tables.
Innodb_rows_read 0 Anzahl der Zeilen die aus InnoDB-Tabellen gelesen wurden.
Innodb_rows_updated 0 Anzahl der Zeilen die in InnoDB-Tabellen aktualisiert wurden.
Anfang SSL Variable Wert Beschreibung
Ssl_accept_renegotiates 0
Ssl_accepts 0
Ssl_callback_cache_hits 0
Ssl_cipher
Ssl_cipher_list
Ssl_client_connects 0
Ssl_connect_renegotiates 0
Ssl_ctx_verify_depth 0
Ssl_ctx_verify_mode 0
Ssl_default_timeout 0
Ssl_finished_accepts 0
Ssl_finished_connects 0
Ssl_session_cache_hits 0
Ssl_session_cache_misses 0
Ssl_session_cache_mode NONE
Ssl_session_cache_overflows 0
Ssl_session_cache_size 0
Ssl_session_cache_timeouts 0
Ssl_sessions_reused 0
Ssl_used_session_cache_entries 0
Ssl_verify_depth 0
Ssl_verify_mode 0
Ssl_version
Anfang Handler Variable Wert Beschreibung
Handler_commit 0 Anzahl der Anfragen, ein COMMIT auszuführen.
Handler_delete 0 Wie oft eine Zeile aus einer Tabelle gelöscht wurde.
Handler_discover 0 Anzahl der gesuchten und gefundenen (discovered) Tabellen. Der MySQL-Server kann das NDB-Cluster-Storage-Engine fragen ob es eine bestimmte Tabelle kennt. Dieser Vorgang wird 'discovery' genannt.
Handler_prepare 0
Handler_read_first 3 Wie oft der erste Eintrag aus einem Index gelesen wurde. Wenn dieser Wert hoch ist, legt das nahe, dass der Server viele komplette Index-Scans macht (zum Beispiel SELECT spalte1 FROM foo, unter der Annahme, dass spalte1 indiziert ist).
Handler_read_key 4 M Anzahl der Anfragen, eine Zeile basierend auf einem Schlüssel zu lesen. Wenn dieser Wert hoch ist, ist das ein gutes Indiz dafür, dass Ihre Anfragen und Tabellen korrekt indiziert sind.
Handler_read_next 0 Anzahl der Anfragen, die nächste Zeile in der Reihenfolge des Schlüssels zu lesen. Dieser Wert wird herauf gezählt, wenn Sie eine Index-Spalte mit einer Bereichsbeschränkung (Limit) abfragen. Er wird ebenfalls herauf gezählt, wenn Sie einen Index-Scan durchführen.
Handler_read_prev 0 Anzahl der Anfragen, die vorhergehende Zeile in der Reihenfolge des Schlüssels zu lesen. Diese Lese-Methode ist hauptsächlich zur Optimierung von ORDER BY ... DESC.
Handler_read_rnd 2 Anzahl der Anfragen, eine Zeile basierend auf einer festen Position zu lesen. Dieser Wert wird hoch sein, wenn Sie viele Anfragen ausführen, die erfordern, dass das Ergebnis sortiert wird. Wenn Handler_read_rnd hoch ist, haben Sie wahrscheinlich viele Anfragen, die MySQL zwingen, ganze Tabellen zu scannen, oder Sie haben Joins, die Schlüssel nicht richtig benutzen.
Handler_read_rnd_next 289 M Anzahl der Anfragen, die nächste Zeile in der Daten-Datei zu lesen. Dieser Wert wird hoch sein, wenn Sie viele Tabellen-Scans durchführen. Im Allgemeinen weist das darauf hin, dass Ihre Tabellen nicht korrekt indiziert sind, oder dass Ihre Anfragen nicht so geschrieben sind, dass Sie Vorteile aus den Indexen ziehen, die Sie haben.
Handler_rollback 0 Anzahl der Anfragen, ein ROLLBACK auszuführen.
Handler_savepoint 0
Handler_savepoint_rollback 0
Handler_update 0 Anzahl der Anfragen, eine Zeile in einer Tabelle zu aktualisieren.
Handler_write 65 k Anzahl der Anfragen, eine Zeile in eine Tabelle einzufügen.
Anfang Abfrage-Cache Variable Wert Beschreibung
Schreibe/Leere den Abfrage-Cache ("FLUSH") MySQL - Dokumentation
Qcache_free_blocks 0 Freie Speicherblöcke im Abfrage-Cache.
Qcache_free_memory 0 Freier Speicher im Abfrage-Cache.
Qcache_hits 0 Abfrage-Cache-Zugriffsrate.
Qcache_inserts 0 Die Anzahl der Abfragen die dem Cache hinzugefügt wurden.
Qcache_lowmem_prunes 0 Die Anzahl der Abfragen die aus dem Cache entfernt wurden, um Speicher für neue Abfragen frei zu geben. Dieser Wert kann helfen die Abfrage-Cache-Größe zu optimieren. Der Abfrage-Cache verwendet die 'am wenigsten gebrauchte' (least recently used (LRU)) Strategie um zu entscheiden welche Abfrage aus dem Cache gelöscht werden.
Qcache_not_cached 0 Die Anzahl der nicht im Cache eingetragenen Abfragen (nicht möglich, oder aufgrund der query_cache_type Einstellung).
Qcache_queries_in_cache 0 Die Anzahl der Abfragen im Cache.
Qcache_total_blocks 0 Die Anzahl aller Speicherblöcke im Abfrage-Cache.
Anfang Prozesse Variable Wert Beschreibung
Prozesse anzeigen MySQL - Dokumentation
Slow_launch_threads 0 Anzahl der Threads, die länger als slow_launch_time brauchten, um sich zu verbinden.
Threads_cached 0 Anzahl der Threads im Thread-Cache. Die Cache-Zugriffsrate kann mit Threads_created / Connections berechnet werden. Wenn dieser Wert rot ist, sollte der thread_cache_size erhöht werden.
Threads_connected 2 Anzahl der momentan offenen Verbindungen.
Threads_created 224 Anzahl der Threads, die zur Handhabung von Verbindungen erzeugt wurden. Wenn Threads_created hoch ist, sollten Sie eventuell die Thread_cache_size-Variable herauf setzen. (Normalerweise ergibt sich daraus keine bemerkbare Performance-Steigerung wenn eine gute Thread-Implementierung vorliegt.)
Threads_running 1 Anzahl der Threads, die nicht schlafen.
Threads_cache_hitrate_% 0,44 %
Anfang Binäres Protokoll Variable Wert Beschreibung
MySQL - Dokumentation
Binlog_cache_disk_use 0 Anzahl der Transaktionen die den Binärylog-Cache verwendet haben aber die Größe des Binarylog-Caches (binlog_cache_size) überschritten haben und eine temporäre Datei verwendet haben um die [statements] der Transaktion zu speichern.
Binlog_cache_use 0 Anzahl der Transaktionen, die den temporären Binarylog-Cache verwendet haben.
Anfang Temporäre Daten Variable Wert Beschreibung
Created_tmp_disk_tables 229 Anzahl der (implizit) auf der Platte erzeugten temporären Tabellen bei der Ausführung von Statements. Wenn Created_tmp_disk_tables hoch ist, sollten Sie eventuell die tmp_table_size-Variable herauf setzen, damit temporäre Tabellen im Speicher erzeugt werden statt auf der Platte.
Created_tmp_files 0 Wieviele temporäre Dateien mysqld erzeugt hat.
Created_tmp_tables 566 Anzahl der (implizit) im Arbeitsspeicher erzeugten temporären Tabellen bei der Ausführung von Statements.
Anfang Verzögertes Einfügen (delayed inserts) Variable Wert Beschreibung
Delayed_errors 0 Anzahl der Zeilen, die mit INSERT DELAYED geschrieben wurden, und bei denen irgend ein Fehler auftrat (wahrscheinlich duplicate key).
Delayed_insert_threads 0 Anzahl der verzögerten Insert-Handler-Threads in Benutzung. Jede einzelne Tabelle mit verzögerten Inserts bekommt einen eigenen Thread.
Delayed_writes 0 Anzahl der Zeilen, die mit INSERT DELAYED geschrieben wurden.
Not_flushed_delayed_rows 0 Anzahl der Zeilen, die in INSERT DELAY-Warteschleifen darauf warten, geschrieben zu werden.
Anfang Schlüssel-Cache Variable Wert Beschreibung
MySQL - Dokumentation
Key_blocks_not_flushed 0 Schlüssel-Blöcke im Schlüssel-Cache, die verändert wurden, aber noch nicht auf die Platte zurück geschrieben (flush). Auch bekannt als Not_flushed_key_blocks.
Key_blocks_unused 0 Die Anzahl der unbenutzten Schlüssel-Blöcke im Schlüssel-Cache. Dieser Wert kann dazu dienen die Auslastung des Schlüssel-Cache zu bestimmen.
Key_blocks_used 14 k Die Anzahl der maximal gleichzeitig benutzten Blocks im Schlüssel-Cache.
Key_read_requests 16 M Die Anzahl der Anfragen, einen Schlüssel-Block aus dem Cache zu lesen.
Key_reads 41 k Die Anzahl physikalischer Lesezugriffen eines Schlüssel-Blocks von der Platte. Wenn key_reads hoch ist, ist Ihr key_cache wahrscheinlich zu klein. Die Cache-Zugriffsrate kann mit key_reads / key_read_requests berechnet werden.
Key_write_requests 1 M Die Anzahl der Anfragen, einen Schlüssel-Block in den Cache zu schreiben.
Key_writes 1 M Die Anzahl physikalischer Schreibvorgänge eines Schlüssel-Blocks auf Platte.
Key_buffer_fraction_% 100,00 %
Anfang Tabellenverknüpfungen (joins) Variable Wert Beschreibung
Select_full_join 0 Anzahl der Joins ohne Schlüssel. Wenn dieser Wert nicht 0 ist sollten die Indizes der Tabellen sorgfältig überprüft werden.
Select_full_range_join 0 Anzahl der Joins, bei denen eine Bereichssuche auf die Referenztabelle statt fand.
Select_range 0 Anzahl der Joins, bei denen Bereiche auf die erste Tabelle benutzt wurden. (Es ist normalerweise unkritisch, wenn dieser Wert hoch ist.)
Select_range_check 0 Anzahl der Joins ohne Schlüssel, bei denen nach jeder Zeile auf Schlüsselbenutzung geprüft wurde. Wenn dieser Wert nicht 0 ist sollten die Indizes der Tabellen sorgfältig überprüft werden.
Select_scan 57 k Anzahl der Joins, bei denen die erste Tabelle gescannt wurde.
Anfang Replikation Variable Wert Beschreibung
Zeige alle Slave-Rechner Zeige den Slave-Status MySQL - Dokumentation
Rpl_status NULL Der Status der ausfallsicheren Replikation.
Slave_open_temp_tables 0 Anzahl der temporären Tabellen, die momentan vom Slave-Thread geöffnet sind.
Slave_retried_transactions 0 Gesamtzahl (seit Start des Servers) der vom Replikations-Slave-SQL-Thread widerversuchten Transaktionen.
Slave_running OFF Dieser Wert steht auf ON wenn dieser Server ein Slave ist und mit dem Master verbunden ist.
Anfang Sortierung Variable Wert Beschreibung
Sort_merge_passes 0 Anzahl der Verschmelzungen (Merge), die von einem Sortiervorgang benötigt wurden. Wenn dieser Wert hoch ist, sollten Sie in Betracht ziehen, sort_buffer herauf zu setzen.
Sort_range 0 Anzahl der Sortiervorgänge, die mit Bereichen durchgeführt wurden.
Sort_rows 2 Anzahl der sortierten Zeilen.
Sort_scan 2 Anzahl der Sortiervorgänge, die durchgeführt wurden, indem die Tabelle gescannt wurde.
Anfang Tabellen Variable Wert Beschreibung
Leeren des gesamten Tabellencaches ("FLUSH") Zeige alle offenen Tabellen
Open_tables 19 Anzahl der offenen Tabellen.
Opened_tables 25 Anzahl der Tabellen, die geöffnet wurden. Wenn Opened_tables hoch ist, ist Ihre table_cache-Variable wahrscheinlich zu niedrig.
Table_locks_immediate 117 k Wie oft eine Tabellensperre sofort erlangt wurde.
Table_locks_waited 80 Wie oft eine Tabellensperre nicht sofort erlangt werden konnte und gewartet werden musst. Wenn dieser Wert hoch ist und Sie Performance-Probleme haben, sollten Sie zunächst Ihre Anfragen optimieren und dann entweder Ihre Tabelle(n) zerteilen oder Replikation benutzen.
Anfang Transaction coordinator Variable Wert Beschreibung
Tc_log_max_pages_used 0
Tc_log_page_size 0
Tc_log_page_waits 0
Anfang Variable Wert Beschreibung
Compression OFF
Open_files 32 Anzahl der offenen Dateien.
Open_streams 0 Anzahl der offenen Streams (hauptsächlich zum Loggen benutzt).
Irrtümlich suchte ich den fehler am import script!
das problem ist nur deswegen (ja es ist weiterhin vorhanden!), da ich als neugierige person vom admin bereich aus prüfen will/wollte wieviele datensätze schon importiert worden sind. dadurch werden jedesmal SELCT COUNT(*)... ausgeführt und wie mir mysqladmin processlist soeben mitteilte, werden die anderen threads dadurch auf locked gesetzt => die inserts können nicht erledigt werden und bleiben in der warteschleife, die nie enden will :(
komisch, oder?!
was kann man da machen?