#索引

MySQL索引的原理,B+树、聚集索引和二级索引的结构分析

索引是一种用于快速查询行的数据结构,就像一本书的目录就是一个索引,如果想在一本书中找到某个主题,一般会先找到对应页码。在mysql中,存储引擎用类似的方法使用索引,先在索引中找到对应值,然后根据匹配的索引记录找到对应的行。  我们首先了解一下索引的几种类型和索引的结构。B树  大多数存储引擎都支持B树索引。b树通常意味...

前端里面如何进行搜索引擎优化(SEO)

如何进行SEO优化:(1)避免head标签js堵塞:  所有放在head标签里面的js和css都会堵塞渲染;如果这些css和js需要加载很久的话,那么页面就空白了;  解决办法:一是把script放到body后面,这也是很多网站采取的方法。       第二种是给script加defer或者async的属性,一旦scr...

mysql索引 B+tree

1、索引能极大减少存储引擎需要扫描的数据量:因为索引有序所以可以快速查找并且不用全表查找;2、索引可以把随机IO变为顺序IO:因为B+tree在数据中保存了下个数据的信息;3、索引在分组、排序等操作时,不使用临时表。1、索引列数数据长度能少则少:数据也是分片的,一次可以加载回更多数据,减少磁盘io;2、索引不是越多越好...
代码星球 ·2020-12-30

MySQL索引原理(三)

背景:为了提高数据库效率,建索引是家常便饭;那么当查询条件为2个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下。注:Mysql版本为5.7.20创建测试表(表记录数为63188):CREATETABLE`t_mobilesms_11`(`id`big...
代码星球 ·2020-12-29

MySQL索引原理(二)

索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据。对于索引,会保存在额外的文件中。索引是数据库中专门用于帮助用户快速查询数据的一种数据结构。类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可。1.1、索引选取类型1、越小的数据类型通常更好:越小的数据类型通...
代码星球 ·2020-12-29

MySQL索引原理(一)

索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才能找到你想要的,如果我想找到m开头的单词呢?或者ze开头的单词呢?是不是觉得如果没有索引,这个事情根本无法...
代码星球 ·2020-12-29

mysql索引原理及优化(四)

分析了MySQL的索引结构的实现原理,然后我们来看看具体的存储引擎怎么实现索引结构的,MySQL中最常见的两种存储引擎分别是MyISAM和InnoDB,分别实现了非聚簇索引和聚簇索引。聚簇索引的解释是:聚簇索引的顺序就是数据的物理存储顺序非聚簇索引的解释是:索引顺序与数据物理排列顺序无关(这样说起来并不好理解,让人摸不...
代码星球 ·2020-12-29

mysql索引原理及优化(三)

MYISAM中叶子节点的数据区域存储的是数据记录的地址主键索引 辅助索引MyISAM存储引擎在使用索引查询数据时,会先根据索引查找到数据地址,再根据地址查询到具体的数据。并且主键索引和辅助索引没有太多区别。  InnoDB中主键索引的叶子节点的数据区域存储的是数据记录,辅助索引存储的是主键...
代码星球 ·2020-12-29

mysql索引原理及优化(二)

索引是最常见的慢查询优化方式其是一种优化查询的数据结构,MySql中的索引是用B+树实现,而B+树就是一种数据结构,可以优化查询速度,可以利用索引快速查找数据,优化查询。可以提高查询速度的数据结构:哈希表、完全平衡二叉树、B树、B+树等等。 哈希:select*fromsanguowherename>'...
代码星球 ·2020-12-29

mysql索引原理及优化(一)

索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-tree的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的...
代码星球 ·2020-12-29

MongoDB(课时22 唯一索引)

3.6.1唯一索引唯一索引的主要目的是用在某一个字段上,使该字段的内容不重复。范例:创建唯一索引db.students.ensureIndex({"name":1},{"unique":true})在name字段上的内容绝对不允许重复。范例:在students集合里面增加重复的数据db.students.insert(...
代码星球 ·2020-12-29

MongoDB(课时21 索引)

3.5索引(重点)任何数据库中,索引都是一种提升数据库检索性能的手段,这一点在MongoDB数据库中同样是存在的,MongoDB数据库里面存在两种索引创建:一是自动创建,另外是手工创建。范例:重新准备一个新的简单集合此时在students集合上并没有设置任何的索引,下面通过getIndexes()函数来观察在stude...
代码星球 ·2020-12-29

Mysql全文索引的使用

在MySQL5.6版本以前,只有MyISAM存储引擎支持全文引擎.在5.6版本中,InnoDB加入了对全文索引的支持,但是不支持中文全文索引.在5.7.6版本,MySQL内置了ngram全文解析器,用来支持亚洲语种的分词.在学习之前,请确认自己的MySQL版本大于5.7.6.我的版本为5.7.20.同时文中的所有操作都...
代码星球 ·2020-12-27

浅析树状数组(二叉索引树)及一些模板

  动态连续和查询问题。给定一个n个元素的数组a1、a2、……,an,设计一个数据结构,支持以下两种操作:1、add(x,d):让ax增加d;2、query(l,r):计算al+al+1+…+ar如何让query和add都能快速完成呢?方法有很多,这里介绍的便是树状数组。为此我们先介绍lowbit。  对于正整数x,我...
首页上一页...89101112...下一页尾页