php - 为什么我的嵌套查询使 SQL Server 速度减慢这么多?

标签 php mysql sql

以下是我的查询。花了8秒的时间,从不到30个可能的结果中得出了12个结果。这里发生了什么?服务器对于一些非常复杂的查询来说确实很快,但不是这个......

SELECT meta_value FROM wp_postmeta where post_id IN
  (SELECT meta_value from wp_postmeta WHERE post_id IN 
     (select id from wp_posts WHERE post_type = 'ads') 
      AND meta_key like 'image1')

最佳答案

在您的情况下,对 WHERE 中的每一行执行选择。将其放在 FROM 部分中。像这样。

SELECT meta_value 
FROM wp_postmeta t1
     JOIN wp_postmeta t2 ON t2.meta_value=t1.post_id AND meta_key like 'image1'
     JOIN wp_posts t3 ON t3.id=t1.post_id AND post_type = 'ads' 

关于php - 为什么我的嵌套查询使 SQL Server 速度减慢这么多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22351225/

相关文章:

PHP 数组返回 null

php - 由于出站端口被阻止,无法访问 phpMyAdmin

javascript - Ajax |使用警报();其他文件中的函数不起作用

php - PHP中的高额付款处理架构

c# - H2、DBDataAdapter、Locale 属性、列名和区分大小写(整理)

mysql - 如何在带有 limit 关键字的 sql 查询中使用多个 order by?

php - Yii2 将数据从 3 Gridview 传递到数据库

mysql - 在 Where 中使用 Count 和 Distinct

mysql - 是否允许多个外键?

mysql - 为什么我的查询不是最优的?