Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

MySQL - Copying to tmp table

hansapark / 2 Antworten / Flachansicht Nickles

Hallo. Ich habe mir meine beiden langsamsten MySQL-Queries in der Konsole angesehen und gesehen, dass die meiste Zeit bei:

| Copying to tmp table | 0.000263 |
| Copying to tmp table | 0.052237 |
| Sorting result | 0.000035 |

vergeht. Was hat es mit den tmp tables auf sich? Es war mir nicht bewusst, dass sowas überhaupt passiert. Und kann ich den Query anpassen, um das zu verbessern?

Z.Bsp. diesen:

select `pics`.*, `users`.`username`, `users`.`displayname` from `pics` left join `users` on `users`.`id` = `pics`.`user_id` order by RAND() asc limit 4;

Da werden 4 Zufallsbilder geladen, und username und displayname dazu geholt mit join.

Aber am join sollte es nicht liegen, oder?

Indizes habe ich diese:

pics:

PRIMARY id
UNIQUE created_at
INDEX user_id
INDEX location

und bei users:

PRIMARY id
UNIQUE username

danke für einen tipp.

bei Antwort benachrichtigen