【发布时间】:2013-04-22 10:09:30
【问题描述】:
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 中选择最后一个字段并检查创建日期是昨天并且 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 ))
提前致谢。
【问题讨论】:
-
两张表有索引吗?
-
抱歉,我不明白你的问题。您的意思是表temporary_search_table 和search_meta 之间的关系吗?如果“是”,那么是的。 temporary_search_table 中的 post_id 是 serach_meta 表中的外键(search_id)。
-
嗯,里面有一个相关的子查询。
-
@MonirulIslam 不,我的意思是
temporary_search_table中的property_status列上是否有索引,search_meta中的post_id列上是否有索引? -
没有可用的索引。