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
分享到:
相关推荐
对于与数据,查找和集成有关的问题,请使用。 常问问题 为什么会存在? 该软件包的主要目的是减小默认的spaCy安装,并且默认情况下不强制每个用户下载所有语言的大数据文件。 现在可以通过预先训练的模型(序列化...
### 路由查找与数据包分类算法 #### 摘要解读 本文档主要讨论了提高互联网容量和灵活性的方法,特别关注了路由器在处理数据包时遇到的问题以及提出了解决这些问题的新算法。作者指出,尽管光技术的进步使得链路的...
druid.io的lookups是druid.io之中的很好用的功能,他可以给druid.io的数据源的维度提供额外的关联信息,以帮助druid.io显示更友好,以及开发聚合更方便,减少druid.io的存储,提高druid.io的查询效率
在"Ansible-ansible-lookups.zip"压缩包中,我们可以找到一个名为"ansible-lookups-master"的文件夹,这很可能是包含了自定义或者扩展的lookup插件代码。在实际使用中,这样的插件可以帮助你根据特定需求定制数据...
### AX2012 教程:使用代理外键查找的表单 #### 知识点概述 在AX2012系统中,为了更好地管理数据关系并提高系统的灵活性与可维护性,开发者通常会使用代理外键(也称为代理键)来替代自然外键。这种方式能够帮助开发...
这款插件极大地简化了用户查找和获取业余无线电相关数据的过程,为用户提供了便捷的在线查询服务。 首先,我们要了解什么是“ham radio”或业余无线电。业余无线电是一项全球性的爱好和休闲活动,爱好者通过无线电...
4. **`user_lookups`**:通过索引查找特定行的次数。 5. **`user_updates`**:索引中字段被更新的次数。 通过这些信息,我们可以判断哪些索引很少被使用或者不再有效,从而考虑删除这些索引以节省空间并减少维护...
此扩展为所选文本的上下文菜单添加了可配置的查找选项 浏览时快速搜索信息。 只需选择要查找的文本,打开右键单击上下文菜单,然后选择所需的配置的查找选项。 当有人向您发送有关会议的电子邮件时,是否需要快速...
查找 一种允许您使用任何 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查找(Reduce DNS Lookups)可以显著提高页面加载速度。DNS解析是网络请求前的一个步骤,每次查找都会消耗时间。尽量将资源放在同一个域名下,或者使用CDN(Content Delivery Network)来减少DNS查找次数...
例如,要为`example.com`域设置DNS服务器,你需要创建一个正向查找区域: ```text zone "example.com" { type master; file "/var/named/example.com.zone"; }; ``` 然后,创建对应的区域文件`/var/named/...
`spacy_lookup` 是一个Python库,专为自然语言处理(NLP)任务设计,特别是针对词汇查找和实体识别。这个库是Python 2和Python 3兼容的,因此它带有“py2.py3-none-any”的标识,这意味着它可以在任何不特定平台的...
1. **计算速度快**:在处理大量数据时,哈希函数应尽可能快速计算出哈希值,以降低查找延迟。 2. **冲突少**:理想情况下,不同的键会产生不同的哈希值,但实际中很难做到,因此一个好的哈希函数应尽量减少哈希冲突...
4. Unconnected Lookups常用于复杂逻辑,如在表达式中测试条件或更新缓慢变化维度。 **应用场景** - **关联信息获取**:例如,根据Employee ID从数据库中查找并返回对应的Employee Name。 - **计算**:提供固定数值...
"SYS_LOOKUPS"这个名字可能是系统查找表或者枚举值表的名称,这类表常用于存储固定的选项值,例如性别、状态、国家代码等。这些预定义的值可以提高数据的一致性和输入效率。创建一个示例的`SYS_LOOKUPS`表可能如下:...
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 ...
在服务中添加环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS=true,以禁用 Log4j2 的消息查找功能。例如,在 Linux 系统中,可以编辑 /etc/profile 文件,添加以下配置: ``` export FORMAT_MESSAGES_PATTERN_...