主键在进行模糊查询时 如果查询全部字段,或查询的字段没有索引,那么主键索引无效。例如:select * 或者select tel没有tel的相关索引 如果查询的字段存在索引,这会使用查询字段的索引,例如select name 有索引money,name 普通索引这不存在该问题。 原因暂时没弄明白,用 ...
分类:
其他好文 时间:
2018-12-23 15:19:22
阅读次数:
180
一、索引的定义 索引用来快速地寻找那些具有特定值的记录或者说索引就是一种加快查找数据的内部机制。 二、索引的分类 索引有很多种:主键索引、唯一索引、普通索引、组合索引、辅助索引、聚集索引、覆盖索引、全文索引等等。 2.1、主键索引:主键索引必须是第一列,唯一标示一行记录,不允许重复值,也不允许有空值 ...
分类:
其他好文 时间:
2018-12-17 16:53:22
阅读次数:
216
一、索引 1、分类 (1)主键索引:当一张表的某个字段设置为主键时,该字段就是主键索引; (2)唯一索引:索引列中的值必须是唯一的,但是允许为空值(可以存在多个null); (3)普通索引:基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点; (4)全文索引: ...
分类:
数据库 时间:
2018-11-29 01:33:54
阅读次数:
212
索引使用建议 1.最好用数字做索引,主键最好是自增id而非uuid 2.每次查询只能用一个索引,因此建议使用组合索引 3.查询的字段如果辅助索引树都包含,可以省去第二次搜索主键索引树的操作 哪些情况需要创建索引 哪些情况不需要创建索引 注意事项 like语句 —— like '%aaa%'或者lik ...
分类:
数据库 时间:
2018-11-28 01:04:43
阅读次数:
144
一、索引:搜索引导,好比是图书的目录。 为什么使用索引? 索引是提升查询效率最有效的手段! 在数据库中插入数据会引发索引的重建 简单的说索引的就是用帮我们加快查询速度的。 但也不是索引越多速度越快的!!! 如果没有命中索引速度反而会降低。 索引的分类 1.聚集索引 就是主键索引 行中的完整记录存在聚 ...
分类:
其他好文 时间:
2018-11-27 23:21:00
阅读次数:
196
MySql的优化是一个综合性的技术,主要包括有: (1)表的设计合理化(符合 3NF 三范式) (2)添加适当的索引(Index);索引分类:普通索引、主键索引、唯一索引、全文索引(文本)、空间索引。 (3)分表技术(水平分割、垂直分割) (4)读写分离(写:update/add/delete) ( ...
分类:
数据库 时间:
2018-11-27 01:26:29
阅读次数:
189
一、简介 MySQL目前主要有以下几种索引类型:1.普通索引2.唯一索引3.主键索引4.组合索引5.全文索引 二、语句 CREATE TABLE table_name[col_name data type] [unique|fulltext][index|key][index_name](col_n ...
分类:
数据库 时间:
2018-11-27 01:21:37
阅读次数:
212
innoDB的事务,是基于锁来实现的,用到事务不自然就会用到锁,而如果对锁理解的不通透,很容易造成线上问题。 数据库加锁的分析,和事务的引擎,隔离级别,索引,主键索引都有关系, 如果去考虑引擎和各种隔离级别的话,就会很复杂了,所以下面都是基于innoDB和RR的隔离级别进行分析: 表结构: 内容: ...
分类:
数据库 时间:
2018-11-21 16:11:27
阅读次数:
116
可以说数据库必须有索引,没有索引则检索过程变成了顺序查找,O(n)的时间复杂度几乎是不能忍受的。我们非常容易想象出一个只有单关键字组成的表如何使用B+树进行索引,只要将关键字存储到树的节点即可。当数据库一条记录里包含多个字段时,一棵B+树就只能存储主键,如果检索的是非主键字段,则主键索引失去作用,又 ...
分类:
数据库 时间:
2018-11-13 18:32:25
阅读次数:
154
(1)创建表时,创建唯一索引 (2)为一 个表的字段追加唯一索引 (3)删除唯一索引 3.主键索引(加速查找+唯一约束,不能为null) 一张表中只能有一个主键索引 (1)创建表时添加主键索引 (2)为一个表添加主键索引 (3)删除主键索引 4.组合索引(加速查找) 组合主键索引、组合唯一索引、组合 ...
分类:
数据库 时间:
2018-11-11 16:54:08
阅读次数:
183