MySQL 索引 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。 索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个 ...
分类:
数据库 时间:
2017-08-06 12:53:09
阅读次数:
223
一、使用组合索引需要注意的地方 1、索引应该建在选择性高的字段上(键值唯一的记录数/总记录条数),选择性越高索引的效果越好、价值越大,唯一索引的选择性最高; 2、组合索引中字段的顺序,选择性越高的字段排在最前面;如果把低选择性的列放在最左端,可能会造成无法使用该索引的情况。 3、where条件中包含 ...
分类:
数据库 时间:
2017-08-02 15:03:11
阅读次数:
180
一、建表规约 1、如果表达是否概念时,字段名使用is_xxx,0表示是,1表示否,如果确定字段一定是非负数使用unsigned。 2、表名和字段名必须使用小写或数字,禁止数字开头,避免两个下划线中间只有数字。 3、表名不使用复数名词,表名只代表实体,并不代表实体个数 4、禁止使用保留字,如:desc ...
分类:
数据库 时间:
2017-07-30 00:59:21
阅读次数:
320
概念: 单一索引是指索引列为一列的情况,即新建索引的语句只实施在一列上; 用户可以在多个列上建立索引,这种索引叫做复合索引(组合索引); 复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引; 同时有两个概念叫做窄索引和宽索引,窄索引是指索引列为1-2列的索引,宽索引也就是索引列超过2列的索 ...
分类:
其他好文 时间:
2017-07-27 23:34:33
阅读次数:
179
概要什么是单一索引,什么又是复合索引呢? 何时新建复合索引,复合索引又需要注意些什么呢?本篇文章主要是对网上一些讨论的总结。一.概念单一索引是指索引列为一列的情况,即新建索引的语句只实施在一列上。用户可以在多个列上建立索引,这种索引叫做复合索引(组合索引)。复合索引的创建方法与创建单一索引的方法完全 ...
分类:
数据库 时间:
2017-07-26 19:23:49
阅读次数:
190
概念: 单一索引是指索引列为一列的情况,即新建索引的语句只实施在一列上; 用户可以在多个列上建立索引,这种索引叫做复合索引(组合索引); 复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引; 同时有两个概念叫做窄索引和宽索引,窄索引是指索引列为1-2列的索引,宽索引也就是索引列超过2列的索 ...
分类:
其他好文 时间:
2017-07-24 23:42:08
阅读次数:
175
作用;快速查找符合where条件的记录 索引也并非越多越好,因为写入或删除时需要更新索引信息 单列索引 如有a , b,c 三个列 ,a,b,c 索引 有了三个索引,但 MySQL 只能用到其中的那个它认为似乎是最有效率的单列索引。 组合索引: 相当于建立了: (a),(ab),(abc) 因为 m ...
分类:
数据库 时间:
2017-07-24 21:24:00
阅读次数:
181
为什么要分表和分区? 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查 ...
分类:
数据库 时间:
2017-07-17 21:50:08
阅读次数:
194
在一张单表5000W数据上进行数据查询时传入两个单列索引条件,进行组合索引查询时,如果最后有order by id排序,与去除该排序,性能差距接近两个数量级 结论:在使用列的默认排序时,不应该再order by该列 顺便再记录一下遇到的其他SQL性能问题: 1, limit a,b 在a值过大时,也 ...
分类:
数据库 时间:
2017-06-23 18:27:04
阅读次数:
641
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。 索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索 ...
分类:
数据库 时间:
2017-06-22 18:35:39
阅读次数:
240