首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于MySQL的sql查询优化

基于MySQL的sql查询优化
EN

Stack Overflow用户
提问于 2017-10-12 11:30:43
回答 3查看 48关注 0票数 1

我有下面的SQL查询,并想知道是否有优化查询的方法。

代码语言:javascript
复制
SELECT * FROM LogEntry WHERE UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(updateTime) > 10;

在updateTime上添加索引可以提高性能吗?可以做更多的工作来提高性能吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-10-12 11:37:15

是。您需要想一种方法来删除列上的函数。所以如果我有逻辑上的正确:

代码语言:javascript
复制
SELECT le.*
FROM LogEntry le
WHERE le.updateTime < NOW() - interval 10 second;

这样就可以利用LogEntry(updateTime)上的索引。

有充分的理由显式列出要返回的列。这对性能的影响很小--除非行的大小相当大。

票数 5
EN

Stack Overflow用户

发布于 2017-10-12 11:34:27

我要做的第一件事是删除select *并选择特定的列

票数 0
EN

Stack Overflow用户

发布于 2017-10-12 11:53:14

除了优化请求之外,还可以考虑对表进行分区。例如,您可以每天在LogEntry上对表updateTime进行分区。如果您的表中有大量数据,它将大大加速您的请求。

注意:要在updateTime上对表进行分区,updateTime必须是主键的一部分。

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

https://stackoverflow.com/questions/46708471

复制
相关文章

相似问题

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