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.
