首页 > 代码库 > 事务及索引

事务及索引

1.有必要先介绍一下存储引擎

 myisam   批量插入速度较快,不支持事务,锁表,全文索引支持

 innoDB  批量插入较慢,支持事务,锁行,全文索引支持

 事务特性:ACID  

2.事务的语法:(存储引擎要用innodb)  

start transaction ;  

update ..;  

update ..;  

commit/rollback;

3.索引

主要作用:加快查询速度,降低增删改的速度, 分为哈希索引、二叉树索引  

技巧:表的导入过程中乳沟整张表的导入,数据库会每插入一条记录更新一次索引,消耗比较大  可以先去掉索引 再导入数据 之后统一加索引,这样可以节省很多时间

3.1 分类  

 普通索引index:加快查询速度,  

 主键索引unique index:行上的值不能重复  

 唯一索引primary index: 不能重复  主键必然唯一,但唯一的不一定是主键  

 全文索引:fulltext index  在默认情况下,对中文意义不大 ;按行查询   select * from table_name where match(col_name) against (‘keyword‘);

3.2 基本操作

 查看索引:show index from table  

 建立索引:alter table table_name add index/unique/fulltext index_name (column_name)  

 删除索引:alter table table_name drop index index_name  

 3.3 tips

         1.不要过度索引,      

         2.索引列选择在查询频繁的类 where子句后的字段;      

         3.尽量索引散列值,过于集中的值不要索引,比如男女就意义不大

 

事务及索引