Ich habe ein Problem mit einfachen Update-Abfrage, was immer in meiner MySQL-slow-query.log-Tabelle erscheint nicht groß ist und nur nur 3021 rows
enthalten.einfache UPDATE-Abfrage in MySQL dauert eine lange Zeit
die Abfrage wie folgt aussieht:
UPDATE 'address'
SET 'user' = 1013
WHERE 'id_adress' = '1'
AND 'date' = '2012-06-04'
Query_time: 2,664413 Lock_time: 0,000043 Rows_sent: 0 Rows_examined: 1
wenn ich examinate diese Abfrage mit:
select 'user' = 1013
from 'address'
where 'id_adress' = '1'
AND 'date' = '2012-06-04'
sieht dann sehr schnell aus 1 row in set (0.00 sec)
Warum dauert diese einfache Aktualisierungsabfrage so viel Zeit? Wie es zu beheben?
Haben Sie irgendwelche Indizes auf dem Tisch eingerichtet? Indizes können die Aktualisierungsgeschwindigkeit bei Abfragen negativ beeinflussen, obwohl sie SELECT-Abfragen beschleunigen. – Ren
@Ren gibt es keine Indizes für diese Tabelle, nur 1 Primärschlüssel für ID. – stefek143
Da diese Abfragen wenig sinnvoll sind, weil alles in einem einzigen Anführungszeichen steht, gehe ich davon aus, dass Sie sie tatsächlich mit einer bestimmten Client-Sprache generieren, und dies ist der SQL-Code, den * think * tatsächlich ausführt. Mein Ratschlag ist, zu überprüfen: 1) Was der generierte SQL-Code ist 2) Wie diese SQL ausführt, wenn sie außerhalb ausgeführt wird (v.g. von Ihrem bevorzugten MySQL-Client). –