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` )
SQL语句:
CREATE INDEX indexname
ON Student(name ASC)
注释:
# indexname是索引的名字,你可以换成容易记忆容易理解的名字;
# Student 是表名,name 是姓名的字段名;
# ASC 升序,DESC 降序。
一、SQL创建索引的目的如下:
1、通过唯一性索引(unique)可确保数据的唯一性;
2、加快数据的检索速度;
3、加快表之间的连接;
4、减少分组和排序时间;
5、使用优化隐藏器提高系统性能。
二、创建SQL索引的语法:
CREATE[UNIQUE][CLUSTERED|](索引类型)INDEX
扩展资料:
索引的类别介绍:
1、唯一索引:
唯一索引是不允许其中任何两行具有相同索引值的索引。当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。数据库还可能防止添加将在表中创建重复键值的新数据。
2、主键索引:
数据库表经常有一列或多列组合,其值唯一标识表中的每一行。该列称为表的主键。在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,它还允许对数据的快速访问。
应该建索引的字段:1经常作为查询条件的字段2外键3经常需要排序的字段4分组排序的字段
应该少建或者不建索引的字段有:1表记录太少,2经常需要插入,删除,修改的表,3表中数据重复且分布平均的字段
一些SQL的写法会限制索引的使用:1where子句中如果使用in、or、like、!= >,均会导致索引不能正常使用,将">"换成">and=chr(0)";2使用函数时,该列就不能使用索引。3比较不匹配数据类型时,该索引将会被忽略。
一些SQL语句优化的写法:1如果from是双表的查询时,大表放在前面,小表放在后面(基础表)。最后面的表是基础表。(只在基于规则的优化器中有效)2如果三表查询时,选择交叉表(intersection table)作为基础表(只在基于规则的优化器中有效)3写where条件时,有索引字段的判断在前,其它字段的判断在后;如果where条件中用到复合索引,按照索引列在复合索引中出现的顺序来依次写where条件;4查询数量较大时,使用表连接代替IN,EXISTS,NOT IN,NOT EXISTS等。5ORACLE采用自下而上的顺序解析WHERE子句,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾
以上就是关于sql创建索引的命令全部的内容,包括:sql创建索引的命令、数据库创建索引,为学生表student创建姓名索引,按升序排列、SQL创建索引的目的是什么(sql建立索引有什么用)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)