Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SELECT blockiert Tabelle

6 views
Skip to first unread message

Martin Eckel

unread,
Mar 4, 2013, 4:53:51 AM3/4/13
to
Hallo,

ich habe ein SELECT-Query, welches mehrere tausend Namen aus einer
Tabelle sortiert laden soll (aufgerufen aus PHP).

Dieses ist absolut nicht zeitkritisch, da selten ausgeführt, es dauert
auch mal ein paar Sekunden.

Das Problem ist, daß während dieser Zeit anscheinend andere,
zeitkritische (aber nicht so kostenintensive) Queries hängen bleiben.

Könnte hier ein SQL_BUFFER_RESULT eine Verbesserung bringen?

Aufgrund der diversen Caches von MySQL ist ein Vergleich gar nicht so
einfach, denn manchmal blockiert die Abfrage auch nicht...

Gruß,
Martin

Bastian Blank

unread,
Mar 4, 2013, 9:58:31 AM3/4/13
to
Martin Eckel wrote:
> ich habe ein SELECT-Query, welches mehrere tausend Namen aus einer
> Tabelle sortiert laden soll (aufgerufen aus PHP).

Mehrere tausend ist jetzt nicht viel.

> Das Problem ist, daß während dieser Zeit anscheinend andere,
> zeitkritische (aber nicht so kostenintensive) Queries hängen bleiben.

Was sagt das Slow-Query-Log? Was sagt "SHOW PROCESSLIST"? Du benutzt
nicht zufällig irgendwo explizit "LOCK"? Was sagt "SHOW STATUS LIKE
'Table%'"?

> Könnte hier ein SQL_BUFFER_RESULT eine Verbesserung bringen?

Du doktorst damit an Symptomen rum.

> Aufgrund der diversen Caches von MySQL ist ein Vergleich gar nicht so
> einfach, denn manchmal blockiert die Abfrage auch nicht...

Überprüfe bitte das du für die Daten InnoDB verwendest. Über welche
Version von MySQL reden wir überhaupt?

Bastian
0 new messages