CREATE TABLE `20130122handler` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`content` varchar(50) NOT NULL,
PRIMARY KEY (`id`),
KEY `20130122handler_idx_uid` (`uid`)
) ENGINE=InnoDB
里面有60w数据,现在模拟按uid排序分页的情况
要看第七页的内容,用
select SQL_NO_CACHE * from 20130122handler
order by uid LIMIT 120,20
查找20条数据,基本就是瞬间的事情
假设用户比较变态,直接点到了102页,用
select SQL_NO_CACHE * from 20130122handler
order by uid LIMIT 2020,20
查找20条数据,发现各种性能相当差
似乎mysql在这种情况下,要从20130122handler_idx_uid索引中读取2040条secondary记录,
然后执行2040次的主键查询,然后返回20条,所以浪费了2020次主键查询
可以考虑用这种手段,减少无用的row lookup
select SQL_NO_CACHE m.* from(
select uid from 20130122handler
ORDER BY uid LIMIT 2020,20) t,20130122handler m
where t.uid=m.uid
这是因为20130122handler_idx_uid是secondary索引,所以要row lookup
用了
select SQL_NO_CACHE * from 20130122handler
order by id LIMIT 120,20
select SQL_NO_CACHE * from 20130122handler
ORDER BY id LIMIT 2040,20
差别就不明显了
这篇文章写得不错
http://explainextended.com/2009/10/23/mysql-order-by-limit-performance-late-row-lookups/
mysql网站上也有讨论过这个问题
http://lists.mysql.com/mysql/227244
分享到:
相关推荐
Ansible-ansible-lookups.zip,与ansibleandible查找一起使用的附加查找,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
对于与数据,查找和集成有关的问题,请使用。 常问问题 为什么会存在? 该软件包的主要目的是减小默认的spaCy安装,并且默认情况下不强制每个用户下载所有语言的大数据文件。 现在可以通过预先训练的模型(序列化...
Efficient Hashing with Lookups in two Memory Accesses
ALGORITHMS FOR ROUTING LOOKUPS AND PACKET CLASSIFICATION Pankaj Gupta ,December 2000
druid.io的lookups是druid.io之中的很好用的功能,他可以给druid.io的数据源的维度提供额外的关联信息,以帮助druid.io显示更友好,以及开发聚合更方便,减少druid.io的存储,提高druid.io的查询效率
AX2012 Tutorial - Forms using Surrogate Foreign Key Lookups
此扩展为所选文本的上下文菜单添加了可配置的查找选项 浏览时快速搜索信息。 只需选择要查找的文本,打开右键单击上下文菜单,然后选择所需的配置的查找选项。 当有人向您发送有关会议的电子邮件时,是否需要快速...
2. 减少 DNS 查找 (Reduce DNS Lookups) 3. 避免重定向 (Avoid Redirects) 4. 使得 Ajax 可缓存 (Make Ajax Cacheable) 5. 延迟载入组件 (Post-load Components) 6. 预载入组件 (Preload Components) 7. 减少 DOM ...
查找 一种允许您使用任何 Javascript 值作为键的数据结构。 键可以是对象、函数、数字、字符串。用法例子: var lookups = require ( 'lookups' ) ;var keyObject = { 'something' : 'someValue' } ;var keyFunction...
Inverted-Index Lookups∗Paolo Boldi Sebastiano VignaDipartimento di Scienze dell’Informazione, Università degli Studi di Milano (Draft)AbstractLarge inverted indices are by now common in the ...
DNS服务器搭建bind9.很好的局域网DNS域解析软件DNS域名解析
语言:English QRZ Ham无线电查询 在QRZ hamradio网站上搜索ham radio呼号数据。
004Efficient Hashing with Lookups in two Memory AccessesRina Panigrahy ∗August 22, 2018AbstractThe study of hashing is closely related to the analysis of balls and bins. Azar et. al. [1] showed that ...
语言:English (United States) 用于执行Amazon查找和转换的免费工具 用于Amazon查找以及从ASIN到EAN,UPC,ISBN以及反之亦然的多合一工具。
ALGORITHMS FOR ROUTING LOOKUPS ANDPACKET CLASSIFICATIONA DISSERTATIONSUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCEAND THE COMMITTEE ON GRADUATE STUDIESOF STANFORD UNIVERSITYIN PARTIAL FULFILLMENT OF...
PySubnetTree-用于CIDR查找的Python模块 .. rst-class:: opening The PySubnetTree package provides a Python data structure ``SubnetTree`` which maps subnets given in `CIDR <http>`_ notation (incl. ...
python库,解压后可用。 资源全名:spacy_lookup-0.0.5-py2.py3-none-any.whl
django-postgres查找任何 提供= ANY(ARRAY(xxx))而不是IN(xxx) 文献资料 该库是为Postgres设计的。 当Postgres不使用带有长IN()语句的索引时,它使开发人员能够解决问题。 通常,当您尝试执行查询时: ...
将查找文件放在C:\Program Files (x86)\PRTG Network Monitor\lookups\custom prtg.mscluster.networkinterfaces.ovl prtg.mscluster.nodes.ovl prtg.mscluster.resources.ovl 运行PRTG查找文件重新加载 创建...