首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按日期选择MYSQL的更快方法

按日期选择MYSQL的更快方法
EN

Stack Overflow用户
提问于 2014-02-05 00:31:23
回答 3查看 41关注 0票数 0

现在我使用的是:

代码语言:javascript
复制
MONTH(timestamp) = '7'AND YEAR(timestamp) = '2013'

按日期选择,但有人告诉我,这是一种非常低效的方式,特别是在有大量数据的情况下。获得相同结果的更快方法是什么?

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2014-02-05 00:34:33

timestamp上创建索引,然后使用:

代码语言:javascript
复制
where timestamp >= '2013-07-01' and timestamp < '2013-08-01'

这将使用索引并运行良好。

您可以按如下方式创建索引:

代码语言:javascript
复制
create index <your table name>_timestamp on <your table name>(timestamp);
票数 2
EN

Stack Overflow用户

发布于 2014-02-05 00:37:20

问题是它在每次比较时都会应用一个函数。您可以使用以下命令修复此问题:

  1. 未调用函数:

其中日期'2013-07-01‘和日期之间的时间戳'2013-07-31'

  • Another方式:创建函数索引:

在月份( myIndex (时间戳),myTable)上创建索引时间

详情请登录:Is it possible to have function-based index in MySQL?

票数 1
EN

Stack Overflow用户

发布于 2014-02-05 00:34:45

搜索日期范围,包括7/1和8/1。

代码语言:javascript
复制
WHERE timestamp >= '2013-07-01' and timestamp < '2013-08-01'

Mysql很有帮助地自动解析YYYY-MM-DD格式的日期。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21558002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档