`
kabike
  • 浏览: 610876 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

mysql的Late row lookups(延迟row查找)

阅读更多
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
0
1
分享到:
评论
1 楼 boygirl 2013-01-30  
难啊

相关推荐

    spacy-lookups-data:spa用于spaCy的其他查找表和数据资源

    对于与数据,查找和集成有关的问题,请使用。 常问问题 为什么会存在? 该软件包的主要目的是减小默认的spaCy安装,并且默认情况下不强制每个用户下载所有语言的大数据文件。 现在可以通过预先训练的模型(序列化...

    ALGORITHMS FOR ROUTING LOOKUPS AND PACKET CLASSIFICATION.pdf

    ### 路由查找与数据包分类算法 #### 摘要解读 本文档主要讨论了提高互联网容量和灵活性的方法,特别关注了路由器在处理数据包时遇到的问题以及提出了解决这些问题的新算法。作者指出,尽管光技术的进步使得链路的...

    Druid-Lookups.postman_collection.json

    druid.io的lookups是druid.io之中的很好用的功能,他可以给druid.io的数据源的维度提供额外的关联信息,以帮助druid.io显示更友好,以及开发聚合更方便,减少druid.io的存储,提高druid.io的查询效率

    Ansible-ansible-lookups.zip

    在"Ansible-ansible-lookups.zip"压缩包中,我们可以找到一个名为"ansible-lookups-master"的文件夹,这很可能是包含了自定义或者扩展的lookup插件代码。在实际使用中,这样的插件可以帮助你根据特定需求定制数据...

    AX2012 Tutorial - Forms using Surrogate Foreign Key Lookups.pdf

    ### AX2012 教程:使用代理外键查找的表单 #### 知识点概述 在AX2012系统中,为了更好地管理数据关系并提高系统的灵活性与可维护性,开发者通常会使用代理外键(也称为代理键)来替代自然外键。这种方式能够帮助开发...

    Hamradio lookups-crx插件

    这款插件极大地简化了用户查找和获取业余无线电相关数据的过程,为用户提供了便捷的在线查询服务。 首先,我们要了解什么是“ham radio”或业余无线电。业余无线电是一项全球性的爱好和休闲活动,爱好者通过无线电...

    sqlserver 2008 查找缺失索引

    4. **`user_lookups`**:通过索引查找特定行的次数。 5. **`user_updates`**:索引中字段被更新的次数。 通过这些信息,我们可以判断哪些索引很少被使用或者不再有效,从而考虑删除这些索引以节省空间并减少维护...

    Context Lookups-crx插件

    此扩展为所选文本的上下文菜单添加了可配置的查找选项 浏览时快速搜索信息。 只需选择要查找的文本,打开右键单击上下文菜单,然后选择所需的配置的查找选项。 当有人向您发送有关会议的电子邮件时,是否需要快速...

    lookups:一种允许您使用任何 Javascript 值作为键的数据结构。 键可以是对象、函数、数字、字符串

    查找 一种允许您使用任何 Javascript 值作为键的数据结构。 键可以是对象、函数、数字、字符串。用法例子: var lookups = require ( 'lookups' ) ;var keyObject = { 'something' : 'someValue' } ;var keyFunction...

    Compressed Perfect Embedded Skip Lists for Quick Inverted-Index Lookups-计算机科学

    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 ...

    web前端优化技巧1

    其次,减少DNS查找(Reduce DNS Lookups)可以显著提高页面加载速度。DNS解析是网络请求前的一个步骤,每次查找都会消耗时间。尽量将资源放在同一个域名下,或者使用CDN(Content Delivery Network)来减少DNS查找次数...

    DNS服务器搭建bind

    例如,要为`example.com`域设置DNS服务器,你需要创建一个正向查找区域: ```text zone "example.com" { type master; file "/var/named/example.com.zone"; }; ``` 然后,创建对应的区域文件`/var/named/...

    Python库 | spacy_lookup-0.0.5-py2.py3-none-any.whl

    `spacy_lookup` 是一个Python库,专为自然语言处理(NLP)任务设计,特别是针对词汇查找和实体识别。这个库是Python 2和Python 3兼容的,因此它带有“py2.py3-none-any”的标识,这意味着它可以在任何不特定平台的...

    C语言中用于表查找的最快哈希函数?

    1. **计算速度快**:在处理大量数据时,哈希函数应尽可能快速计算出哈希值,以降低查找延迟。 2. **冲突少**:理想情况下,不同的键会产生不同的哈希值,但实际中很难做到,因此一个好的哈希函数应尽量减少哈希冲突...

    Informatica Lookup Transformation组件 详解

    4. Unconnected Lookups常用于复杂逻辑,如在表达式中测试条件或更新缓慢变化维度。 **应用场景** - **关联信息获取**:例如,根据Employee ID从数据库中查找并返回对应的Employee Name。 - **计算**:提供固定数值...

    data table

    "SYS_LOOKUPS"这个名字可能是系统查找表或者枚举值表的名称,这类表常用于存储固定的选项值,例如性别、状态、国家代码等。这些预定义的值可以提高数据的一致性和输入效率。创建一个示例的`SYS_LOOKUPS`表可能如下:...

    Efficient Hashing with Lookups in two Memory Accesses - 2018 (0407023v1)-计算机科学

    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 ...

    Apache Log4j2紧急缓解措施.docx

    在服务中添加环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS=true,以禁用 Log4j2 的消息查找功能。例如,在 Linux 系统中,可以编辑 /etc/profile 文件,添加以下配置: ``` export FORMAT_MESSAGES_PATTERN_...

Global site tag (gtag.js) - Google Analytics