mysql - 优化选择mysql

标签 mysql select optimization

可以帮我优化这个查询吗? 感谢您的支持

SELECT  cs_annunci.ID, cs_utenti.ID, cs_annunci.Data, cs_annunci.Tipologia,
        cs_annunci.Foto1, cs_annunci.Titolo, cs_annunci.IDRazza,
        cs_annunci.Cucciolo, cs_utenti.Attivita, cs_annunci.IDRubrica,
        cs_annunci.IDSottorubrica, cs_annunci.Position, cs_annunci.Ora,
        cs_annunci.Prezzo, cs_annunci.Pedigree, cs_annunci.IDProvincia
    FROM  cs_annunci, cs_utenti, cs_regioni
    WHERE  cs_annunci.IDUtente = cs_utenti.ID
      AND  cs_annunci.IDRegione = cs_regioni.ID
      AND  cs_utenti.Sospeso = '0'
      AND  cs_annunci.Attiva = '1'
      AND  cs_utenti.Cancellato = '0'
    ORDER BY  cs_annunci.Position DESC, cs_annunci.Data DESC,
        cs_annunci.Ora DESC
    LIMIT  0, 20

EXPLAIN (.png)

最佳答案

顺便说一句,我发现这更容易阅读......

 SELECT a.ID
      , u.ID
      , a.Data
      , a.Tipologia
      , a.Foto1
      , a.Titolo
      , a.IDRazza
      , a.Cucciolo
      , u.Attivita
      , a.IDRubrica
      , a.IDSottorubrica
      , a.Position
      , a.Ora
      , a.Prezzo
      , a.Pedigree
      , a.IDProvincia
   FROM cs_annunci a
   JOIN cs_utenti u
     ON u.ID = a.IDUtente 
   JOIN cs_regioni r
     ON r.ID = a.IDRegione 
  WHERE u.Sospeso = 0
    AND a.Attiva = 1
    AND u.Cancellato = 0
  ORDER 
     BY a.Position DESC
      , a.Data DESC
      , a.Ora DESC
  LIMIT 0, 20

关于mysql - 优化选择mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39805304/

相关文章:

php - 三张表的数据库连接查询

mysql - 如何将 Dreamweaver 连接到 MySQL 数据库?

php - 用于从表中选择特定数据的 Mysql 查询

php - 如何以分钟分辨率从数据库中选择最高值

java - 项目调度GA : efficient data structure for the chromosome

mysql - 为单个应用程序、单个用户优化 MySQL

php - 如果 PHP 中的列为假,则运行 mysql 查询

mysql - 左连接和 GROUP BY 的 SUM 不正确

mysql - 将表中的非空值合并到一个结果行

postgresql - 我应该从 PostgreSQL search_path 中删除 "$user"吗?