Mam problem z prostym zapytaniem o aktualizację, które zawsze pojawia się w mojej tabeli mysql-slow-query.log nie jest duże i zawiera tylko 3021 rows
.proste zapytanie UPDATE w MySQL zajmuje dużo czasu
kwerenda wygląda następująco:
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
kiedy examinate tę frazę:
select 'user' = 1013
from 'address'
where 'id_adress' = '1'
AND 'date' = '2012-06-04'
wtedy wygląda bardzo szybko 1 row in set (0.00 sec)
Dlaczego to proste zapytanie aktualizacyjne zajmuje tak dużo czasu? Jak to naprawić?
Czy masz jakieś indeksy ustawione na stole? Indeksy mogą negatywnie wpływać na szybkość działania aktualizacji na zapytania, nawet jeśli przyspieszają zapytania typu "WYBIERZ". – Ren
@Ren nie ma indeksów w tej tabeli, tylko 1 klucz podstawowy na ID. – stefek143
Ponieważ zapytania te nie mają większego sensu z powodu posiadania jednego cytowanego wszystkiego, zakładam, że faktycznie generujesz je przy użyciu jakiegoś języka klienta i jest to kod SQL, który * myśl * faktycznie działa. Moja rada to podwójne sprawdzenie: 1) Co wygenerował kod SQL 2) Jak ten SQL działa, gdy działał na zewnątrz (v.g. z twojego ulubionego klienta MySQL). –