首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL -根据用户名查询最近的输入-非常慢

MySQL -根据用户名查询最近的输入-非常慢
EN

Stack Overflow用户
提问于 2011-05-16 00:56:51
回答 2查看 96关注 0票数 3

我有一个经常被插入的表,其中包含各种用户名。我有一个页面,用户可以加载,其中显示了数据库中的最新条目,由他们发布。

我使用的查询示例: SELECT timestamp FROM entry_list WHERE username='user‘ORDER BY entry_id DESC LIMIT 1

表中有两列索引:用户名、时间戳。根据EXPLAIN查询使用此索引,并提供以下附加信息:

select_type:简单

类型: ref

key_len: 34

参考:常量

行数: 5654

额外:使用where;使用索引;使用文件排序

如何优化我的查询?对于单个用户(0.2-0.4秒)来说,这是相当快的,但一些帐户一次加载5个、10个甚至20个不同用户的信息。即使0.2~0.4似乎也有点长,而且当它最终导致页面加载速度降低4-8秒时,这是不可接受的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-16 01:02:49

试试SELECT MAX(timestamp) FROM entry_list WHERE username = 'user'

此外,使用保留关键字作为列名可能不是最好的主意,请尝试将timestamp更改为insert_date或类似的名称

票数 2
EN

Stack Overflow用户

发布于 2011-05-16 01:00:03

您可以向用户表last_query_id添加一个字段。然后,当您进行新查询时,只需更新此字段即可。last_query_id应该指向您当前正在搜索的表中的索引(据我所知)。这种方法避免了通过搜索大量记录来查找最新的记录。

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

https://stackoverflow.com/questions/6009855

复制
相关文章

相似问题

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