php - MySQL 查询 - 替代方案

标签 php mysql sql

我的查询太长(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/

相关文章:

sql - 在 Google BigQuery 中的最近日期左加入

java - 在多时区服务器上使用 JDBC 时,我应该选择哪种 Oracle 日期数据类型?

java - getText().toString() 常量和资源类型不匹配

php - 通知 : Unknown: Skipping numeric key 1 in Unknown on line 0

mysql - SQL/MySQL 查询协助

php - 如何在 Codeigniter 中生成此 MySQL 代码?

php - 错误: Call to a member function paginate() on a non-object

php - 无法访问位于 nginx 站点文档根目录之外的 PHP 文件

mysql - 连接事务表创建事务语句

sql - 查询自连接表似乎很慢