一、索引 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可以提高数据库中特定数据的查询速度。 索引的分类: 1、普通索引,允许在定义索引的列中插入重复值和空值。 唯一索引,索引列的值必须是唯一,但允许有空值。 2、单列索引,一个索引只包含单个列,一个表可以有多个单列索引。 组合索引,指 ...
分类:
数据库 时间:
2018-05-06 22:53:07
阅读次数:
234
重要: (1) SQL如果创建时候,不指定类型那么默认是非聚集索引 (2) 聚集索引和非聚集索引都可以有重复记录,唯一索引不能有重复记录。 (3) 主键 默认是加了唯一约束的聚集索引,但是也可以在主键创建时,指定为唯一约束的非聚集索引,因此主键仅仅是默认加了唯一约束的聚集索引,不能说主键就是加了唯一 ...
分类:
数据库 时间:
2018-05-03 10:31:36
阅读次数:
224
优化数据访问:1.是否向数据库请求了不需要的数据解决方式:A.?查询后加limitB.?Select后写需要的列而不是*2.?是否扫描了额外的数据数据库的访问方式速度由慢到快:全表扫描,索引扫描,范围扫描,唯一索引查询,常数引用MYSQL Explain命令 的type(数据库引擎访问表的方式):Const > ref > range > index
分类:
数据库 时间:
2018-05-02 02:49:46
阅读次数:
170
简介: 1、unique:唯一索引,该字段的每个记录的值都不能重复。 2、clustered:聚集索引,可以包含多个列,比非聚集索引要快,但是每个表只能有一个。 3、nonclustered:非聚集索引,单列使用,可以提高检索性能,但是会增加硬盘存储的数据,也就是说空间换时间 使用方式: 简单的例子 ...
分类:
数据库 时间:
2018-04-27 13:44:31
阅读次数:
167
MySQL如何优化 表的设计合理化(符合3NF) 添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引] SQL语句优化 分表技术(水平分割、垂直分割) 读写[写: update/delete/add]分离 存储过程 [模块化编程,可以提高速度] 对mysql配置 ...
分类:
数据库 时间:
2018-04-27 02:45:03
阅读次数:
265
MySQL命名、设计及使用规范《MySQL命名、设计及使用规范》 ...
分类:
数据库 时间:
2018-04-26 17:03:05
阅读次数:
201
添加索引altertable表名addindex/unique/fulltext[索引名](字段名);删除索引altertable表名dropindex索引名;查看表的所有索引showindexfrom表名;注意:索引在提供查找速度的同时,降低增删改的速度普通索引key(字段名1,字段名2,......)唯一索引uniquekey(字段名1,字段名2,......)主键索引primarykey(字
分类:
数据库 时间:
2018-04-24 17:45:04
阅读次数:
182
1)foreign key 是个约束,意思是说如果你给A字段设置了外键约束,以后你要往A字段插入数据,这个数据一定是要在foreign key 后面跟的那个字段中存在的值。这个的意义就是约束了数据的完整性,不会插入错误的数据。 修改添加t_topic外键约束: 删除表t_topic外键: 2)UNI ...
分类:
其他好文 时间:
2018-04-23 16:37:28
阅读次数:
191
(1)准备环境 (2)创建索引 1)创建表时创建索引 创建普通索引:mysql create table departname(id int,name varchar(50),comment varchar(50),index(name)); 创建唯一索引:mysql create table de ...
分类:
数据库 时间:
2018-04-23 00:12:09
阅读次数:
171
innodb 的四个特性 insert buffer innodb使用insert buffer"欺骗"数据库:对于为非唯一索引,辅助索引的修改操作并非实时更新索引的叶子页,而是把若干对同一页面的更新缓存起来做合并为一次性更新操作,转化随机IO 为顺序IO,这样可以避免随机IO带来性能损耗,提高数据 ...
分类:
数据库 时间:
2018-04-21 12:47:20
阅读次数:
3120