mysql 索引篇

来源:互联网 发布:kali linux 切换xfce 编辑:程序博客网 时间:2024/06/06 09:04

索引类型

唯一索引:唯一索引不允许两行具有相同的索引值主键索引:为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的,并且不能为空聚集索引(Clustered):表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个非聚集索引(Non-clustered):非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,索引中包含指向数据存储位置的指针。可以有多个,小于249个优点加快访问速度,加强行的唯一性缺点带索引的表在数据库中需要更多的存储空间,操纵数据的命令需要更长的处理时间,因为它们需要对索引进行更新索引法则:不要在建立的索引的数据列上进行下列操作:◆避免对索引字段进行计算操作◆避免在索引字段上使用not,<>,!=◆避免在索引列上使用IS NULL和IS NOT NULL◆避免在索引列上出现数据类型转换◆避免在索引字段上使用函数◆避免建立索引的列中使用空值。索引并不一定就是给主键或是唯一的字段。如果在你的表中,有某个字段你总要会经常用来做搜索,那么,请为其建立索引吧。全文索引只能创建在CHAR、VARCHAR或TEXT类型的字段上。查询数据量较大的字符串类型的字段时,使用全文索引可以提高查询速度。1.添加PRIMARY KEY(主键索引) mysql>ALTER TABLE  table_name  ADD PRIMARY KEY ( column) 2.添加UNIQUE(唯一索引) mysql>ALTER TABLE table_name ADD UNIQUE ( column) 3.添加INDEX(普通索引) mysql>ALTER TABLE table_name ADD INDEX index_name ( column) 4.添加FULLTEXT(全文索引) mysql>ALTER TABLE table_name ADD FULLTEXT ( column) 5.添加多列索引 mysql>ALTER TABLE table_name ADD INDEX index_name ( column1, column2, column3)