我的查询太长(3-4 秒)。知道如何让它更快吗?
SELECT u.id AS id_uzytkownika,
u.login,
u.ranga,
u.online_light AS online,
(SELECT MAX(id)
FROM uzytkownicy_zdjecia
WHERE id_uzytkownika = u.id
AND prywatna =0) AS id_fotki,
(SELECT fotka
FROM uzytkownicy_zdjecia
WHERE id = id_fotki) AS fotka ,
(SELECT srednia_ocen
FROM uzytkownicy_zdjecia
WHERE id = id_fotki) AS srednia_ocen,
(SELECT ile_ocen
FROM uzytkownicy_zdjecia
WHERE id = id_fotki) AS ile_ocen
FROM uzytkownicy u
WHERE u.foto =1
AND u.plec = "mezczyzna"
ORDER BY srednia_ocen DESC,
ile_ocen DESC,
id_fotki DESC LIMIT 42
最佳答案
您能否解释一下您的表结构以及该查询的含义?由于列名不是英文,大多数读者可能无法理解您在这里尝试执行的操作...
一般来说,看起来您对同一个表有很多嵌套的 SELECT - 这有什么特殊原因吗?
关于php - MySQL 查询 - 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25602396/