Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
针对特定sql脚本优化mysql查询_Mysql_Sql_Query Optimization - Fatal编程技术网

针对特定sql脚本优化mysql查询

针对特定sql脚本优化mysql查询,mysql,sql,query-optimization,Mysql,Sql,Query Optimization,我想查询一个大约有7000万条记录的表。查询如下: SELECT * FROM tweetentities WHERE applicationId = 6 AND isRetweet = false AND (CURDATE() <= DATE_ADD(tweetDate, INTERVAL 7 DAY)); 从tweetentities中选择* 其中applicationId=6 和isRetweet=false 和(CURDATE()这是您的查询: SELECT

我想查询一个大约有7000万条记录的表。查询如下:

SELECT * FROM tweetentities 
 WHERE applicationId = 6 
   AND isRetweet = false 
   AND (CURDATE() <= DATE_ADD(tweetDate, INTERVAL 7 DAY));
从tweetentities中选择*
其中applicationId=6
和isRetweet=false
和(CURDATE()这是您的查询:

SELECT *
FROM tweetentities
WHERE applicationId = 6 AND
      isRetweet = false AND
      (CURDATE() <= DATE_ADD(tweetDate, INTERVAL 7 DAY));
然后构建索引
tweetentities(applicationId、istweet、tweetDate)

这是您的查询:

SELECT *
FROM tweetentities
WHERE applicationId = 6 AND
      isRetweet = false AND
      (CURDATE() <= DATE_ADD(tweetDate, INTERVAL 7 DAY));

然后构建索引
tweetentities(applicationId、istweet、tweetDate)

@mehmetGokhanBakal,Gordon是正确的,尤其是在日期组件上。如果应用日期对于列,索引可以被利用,但是通过交换和计算当前日期,它可以被利用。好的,我有将近7000万条记录,使用applicationId、isRetweet、tweetDate列创建复合索引将花费太长的时间,这让我担心时间。您可以尝试创建索引,它可能不会花费您所需要的时间墨迹会的。@mehmetGokhanBakal,Gordon是正确的,尤其是在日期组件上。如果应用日期_add()对于列,索引可以被利用,但是通过交换和计算当前日期,它可以被利用。好的,我有将近7000万条记录,使用applicationId、isRetweet、tweetDate列创建复合索引将花费太长的时间,这让我担心时间。您可以尝试创建索引,它可能不会花费您所需要的时间墨迹会的。只需注意:您的查询版本在上周内收到推文,而不是超过一周的推文。如果您想要较旧的推文,则该标志会反转。只需注意:您的查询版本在上周内收到推文,而不是超过一周的推文。如果您想要较旧的推文,则该标志会反转。