【发布时间】:2018-01-10 15:04:34
【问题描述】:
我有两个表用户和 postmeta。我想从用户表中获取用户 ID,并希望过滤 postmeta 表中不存在的用户 ID。
这是我的mysql查询
SELECT u.ID from users WHERE u.ID NOT IN (SELECT DISTINCT(meta_value) from postmeta WHERE meta_key = '_customer_user')
上面的查询工作正常,但由于我有成千上万的用户,而且 postmeta 表很大,所以需要太多时间。
谁能帮我优化这个查询?
【问题讨论】:
-
你应该先阅读这篇文章,你需要的只是这些帖子large table optimization
-
试试这个:
SELECT DISTINCT(u.id) from users AS u, postmeta AS p WHERE p.meta_key = '_customer_user' AND u.id <> p.meta_value -
你有多少内存?
innodb_buffer_pool_size的值是多少?表是ENGINE=InnoDB吗?
标签: mysql wordpress query-optimization