MySQL索引原理及慢查询优化 MySQL索引原理及慢查询优化 原文出处: 美团技术博客 MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到 ...
分类:
数据库 时间:
2017-01-09 11:22:22
阅读次数:
247
基于Lucene检索引擎我们开发了自己的全文检索系统,承担起后台PB级、万亿条数据记录的检索工作,这里向大家分享下Lucene底层原理研究和一些优化经验。
从两个方面介绍:
1. Luce...
分类:
Web程序 时间:
2017-01-04 11:09:57
阅读次数:
492
MySQL索引作为数据库优化的常用手段之一在项目优化中经常会被用到, 但是如何建立高效索引,有效的使用索引以及索引优化的背后到底是什么原理?这次我们深入数据库索引,从索引的数据结构开始说起. 索引原理 索引为什么能提高查询效率?当我们有一个索引index(a)之后,写一个查询语句where a = ...
分类:
数据库 时间:
2016-12-19 18:48:17
阅读次数:
177
MySQL用的是B+ tree索引。数据是存储在磁盘上的,所以如果是索引是基于二叉树的话,这样涉及到很多次的磁盘I/O,I/O次数取决于树的高度,大大降低了查询的速度。使用B+树这种多路搜索树结构,可以三次I/O实现百万级数据的查询。 建立索引的原则: 最左前缀匹配原则,非常重要的原则,mysql会 ...
分类:
数据库 时间:
2016-12-14 13:43:17
阅读次数:
217
http://www.bubuko.com/infodetail-1861798.html 1 各种树形结构本来不打算从二叉搜索树开始,因为网上已经有太多相关文章,但是考虑到清晰的图示对理解问题有很大帮助,也为了保证文章完整性,最后还是加上了这部分。先看看几种树形结构:1 搜索二叉树:每个节点有两个 ...
分类:
数据库 时间:
2016-12-09 08:18:07
阅读次数:
275
1 各种树形结构 本来不打算从二叉搜索树开始,因为网上已经有太多相关文章,但是考虑到清晰的图示对理解问题有很大帮助,也为了保证文章完整性,最后还是加上了这部分。 先看看几种树形结构: 1 搜索二叉树:每个节点有两个子节点,数据量的增大必然导致高度的快速增加,显然这个不适合作为大量数据存储的基础结构。 ...
分类:
数据库 时间:
2016-12-06 09:39:36
阅读次数:
292
add by zhj:这是美团点评技术团队的一篇文章,讲的挺不错的。 原文:http://tech.meituan.com/mysql-index.html MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够 ...
分类:
数据库 时间:
2016-12-05 02:34:48
阅读次数:
310
前言 对于一些原理性文章园中已有大量的文章尤其是关于索引这一块,我也是花费大量时间去学习,对于了解索引原理对于后续理解查询计划和性能调优有很大的帮助,而我们只是一些内容进行概括和总结,这一节我们开始正式步入学习SQL中简单的查询语句,简短的内容,深入的理解。 简单查询语句 所有复杂的语句都是由简单的 ...
分类:
其他好文 时间:
2016-11-29 07:14:06
阅读次数:
184
前几天面试被问到数据库索引的问题,没答上来。回来赶紧查了下,查的时候才发现关于数据库的一些知识已经快忘的差不多了,然后顺着不懂的名词一直找下去,然而越查发现自己不懂的越多…… 首先,建立索引的目的,就是为了提高数据库的查询效率,然而,这肯定得付出一些代价,一个是需要索引表本身需要占部分空间,然后就是 ...
分类:
数据库 时间:
2016-10-30 16:54:49
阅读次数:
266
MySQL索引原理 索引的目的在于提高查询效率,如字典,查询一个单词,需要定位到首字母,然后定位第二个字母,依次来查询。如果没有索引,就需要把字典中的单词看一遍,才能找到想要的单词。 1.b+树: 浅蓝色的块我们称之为一个磁盘块,可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示),如磁 ...
分类:
数据库 时间:
2016-10-27 20:10:06
阅读次数:
256