首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >select查询如何在内部检索数据?

问select查询如何在内部检索数据?
EN

Stack Overflow用户
提问于 2012-10-24 15:32:40
回答 2查看 69关注 0票数 0

我有一个mysql内存表,其中包含分配给每行的优先级。我每2分钟创建一次这个表,并且这个表几乎每秒被调用100次。

它包含大约800行。

我正在运行的查询如下:

代码语言:javascript
复制
select * from table order by priority limit 0,20 

我想优化这个query.Can,我在创建表时将数据放在排序的顺序中,并且可以假定如果我删除the order by子句,拉出的数据将始终根据优先级进行排序。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-10-24 15:39:15

我有两个建议:

  1. 如果您创建了此表,并且在创建后未进行修改,则在创建并填充后执行此ALTER TABLE table ORDER BY priority。这将对您的表进行排序,您可以放弃排序。
  2. 不要使用mysql对结果进行排序。使用php。

另外,不要忘记索引。如果你没有关闭mysql结果缓存,那么你所有的选择都会被缓存,并且不会计算结果。所以你必须检查你的配置。阅读更多here

票数 0
EN

Stack Overflow用户

发布于 2012-10-24 15:47:34

有3件事可以在数据库端做&1在实际的HTML/PHP端来优化这个查询:

  1. 使用带有@ http://dev.mysql.com/doc/refman/5.0/en/create-index.html索引的ISAM表,并使其尽可能小,例如'priority‘SMALLINT(3) UNSIGNED ZEROFILL。最后一点,限制,你已经知道了。如果信息不需要重新查询数据库,比如http://en.wikipedia.org/wiki/List_of_PHP_accelerators

,

  • 使用操作码缓存程序来缓存结果,并将结果直接发送到人们的浏览器。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13044656

复制
相关文章

相似问题

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