alter table t_user add index index_name (name)
即给表" t_user "的 " name "字段建立名为" index_name "的索引。
mysql教程:索引的使用以及索引的优缺点1. 索引(index)是帮助MySQL高效获取数据的数据结构。
它对于高性能非常关键,但人们通常会忘记或误解它。
索引在数据越大的时候越重要。规模小、负载轻的数据库即使没有索引,也能有好的性能, 但是当数据增加的时候,性能就会下降很快。
Tip:蠕虫复制,可以快速复制大量的数据
例:insert into emp select * from emp
2. MySQL中常见的索引
◆普通索引 ◆唯一索引 ◆主键索引 ◆组合索引 ◆全文索引◆外键 (只有innodb存储引擎才支持)
2.1普通索引:
这是最基本的索引,它没有任何限制。有以下几种创建方式:
有以下几种创建方式:
◆创建索引
CREATE INDEX indexName ON tablename(username(length))
◆修改表结构
ALTER tablename ADD INDEX indexName (username(length))
Tip:length可以小于字段实际长度如果是BLOB 和 TEXT 类型,必须指定length ,下同
◆创建表的时候直接指定
CREATE TABLE mytableuuu( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX indexName (username(length)) )
CREATE TABLE mytable(id INT NOT NULL,username VARCHAR(16) NOT NULL)
create index index1 on mytable(id) //创建普通索引
◆删掉索引:
drop index index1 on mytable
有一个概念,
行定义:在声明字段(列)的时候定义的,比如primary key
表定义:在所有字段(列)声明完之后定义的,比如primary key,index
CREATE TABLE mytable(id INT NOT NULL,username VARCHAR(16) NOT NULL,index index1(username))
3.0唯一索引(unique)
索引列的值必须唯一,但允许有空值。
1)创建索引:Create UNIQUE INDEX indexName ON tableName(tableColumns(length))
2)修改表结构:Alter tableName ADD UNIQUE [indexName] ON (tableColumns(length)
3)创建表的时候直接指定:Create TABLE tableName ( [...], UNIQUE [indexName](tableColumns(length))
4.0主键索引(primary key)
我的理解是这样的,不知道对不对:一个是数据库逻辑层(KEY)的东西,一个是实现层(INDEX)的。
KEY有两个核心属性: 1 是 键约束 2 是索引
KEY的索引是通过INDEX来实现的。
实际使用中如果没有涉及字段间的约束,二者的作用是一样的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)