Table temporary_search_table
post_id,property_status, property_address,....more 30 field
Table search_meta
meta_id,search_id,status,created_date好的,我需要created_date昨天的总数据。对于每个temporary_search_table数据,在search_meta中可能有多个条目。因此,我们需要从search_meta中选择最后一个字段,并检查created date是昨天,而property_status是挂起的。如果是,那么我们就可以计算数量了。如果search_meta中没有数据可用于temporary_search_table中的条目,那么我们不需要在结果中计算该行的数量。
这里我附加了我的sql数据。它的工作,但30000行,它花了很多时间。
SELECT COUNT(id) FROM temporary_search_table
WHERE property_status = 'pending' AND (1 = (SELECT DATEDIFF(NOW(), created_date)
FROM search_meta WHERE post_id = search_id ORDER BY created_date DESC LIMIT 0,1 ))提前谢谢。
发布于 2013-04-22 18:19:18
除了检查表上的索引之外,最好不要使用相关子查询,而是使用直接连接。
SELECT COUNT(id)
FROM temporary_search_table
INNER JOIN search_meta ON post_id = search_id
WHERE property_status = 'pending' AND DATEDIFF(NOW(), created_date) = 1
ORDER BY created_date DESC
LIMIT 1https://stackoverflow.com/questions/16144479
复制相似问题