mysql - 学校Mysql上的SQL语句

标签 mysql

正在寻找更好的执行和获取时间的查询,甚至会感谢重写的建议。谢谢

SELECT *
    FROM job.FilledApplication FA 
     JOIN job.InterviewedCandidatelist ICL ON ICL.FilledApplicationDate =FA.Date      
     JOIN job.SelectedCandidate SC ON ILC.ID = SC.InterviewedCandidateid
Where FA.Date > 12458756236442
ORDER BY FA.Date DESC LIMIT 100000;

最佳答案

只要你有一个只有 > 或 < 的条件,你就可以使用范围扫描(假设你在该字段上有索引)。有时,它有助于限制字段中最大值的范围,以便优化器更好地知道如何执行扫描。例如,如果您知道您有一个连续范围,您也可以通过执行以下操作在查询中使用此信息:

SELECT *
    FROM job.FilledApplication FA 
     JOIN job.InterviewedCandidatelist ICL ON ICL.FilledApplicationDate =FA.Date      
     JOIN job.SelectedCandidate SC ON ILC.ID = SC.InterviewedCandidateid
Where FA.Date > 12458756236442 AND FA.Date <= (12458756236442+100000)
ORDER BY FA.Date DESC LIMIT 100000;

因此,请考虑一下您对数据的了解,然后应用它。

并且始终查看索引并注意是否有合适的索引(On join 条件、where 条件、可选的 group by 条件或 order by 条件)

关于mysql - 学校Mysql上的SQL语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37848217/

相关文章:

mysql - 在 Laravel 中获得最高分

MySQL写锁优先级

mysql - Ruby sort_by 用于 MySQL 返回的数组,日期格式为字符串

mysql - 为什么没有聚合的结尾 Group By 会减慢我的查询速度?

Mysql从属状态显示时区错误

PHP + Mysql 复杂SQL SELECT查询

php - mysql_fetch_object() : supplied argument is not a valid MySQL result resource

mysql - MSSQL表复制数据到MYSQL表

php - RecyclerView 无限滚动与 Volley

mysql - 在mysql中一起查询where,having和order by