mysql索引详解 分库分表 数据库惯用

2015-08-15 22:25:00
admin
原创 1708
摘要:mysql索引详解 分库分表 数据库惯用

一、索引详解

1、索引用于提高查询速度,主键和外键用于保证唯一性和完整性;

2、普通索引,create index idx_Table_column on Table(column);

3、唯一索引,create unique index idx_Table_column on Table(column);

4、主键,必须非空,每个表只能有一个主键,通过字段属性申明PRIMARY KEY;

5、外键,可以为空,CONSTRAINT fk_Table_column FOREIGN KEY(newColumn) REFERENCES Table(column);

6、查看索引:show create table TableName,show index from TableName;

7、触发索引操作:where、on、比较操作符、between、不以百分号开头的like;

8、单列索引对一个字段创建一个索引,多列索引对多个字段创建一个索引;


自增ID配置

1、默认初始值:auto_increment_offset 1

2、默认增加值:auto_increment_increment 1

3、查看配置:show variables like 'auto_inc%'


二、分库分表

1、垂直分表,将表的部分字段拆分成一个独立的表,通常是低频访问的大字段;

2、垂直分库,将库的部分表拆分成一个独立的库,通常按业务对表进行分类;

3、水平分表,将表的行按照一定规则拆分到多个表,通常对大表进行拆分;

4、水平分库,将表的行按照一定规则拆分到多个库,通常对大表进行拆分

5、分库分表提升了数据库性能和数据库高可用,水平切分要保证新增均匀;


三、数据库惯用

1、select 1,验证数据库连通性,客户端缓存密码时可以重连数据库;

2、select 1 from Table limit 1,验证数据表是否存在;

3、select * from Table where 1=1,简化增加条件惯用;

发表评论
评论通过审核之后才会显示。