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)
普通索引 添加INDEXALTER TABLE `table_name` ADD INDEX index_name ( `column` )
下面演示下给user表的name字段添加一个索引
mysql数据库如何创建索引
mysql数据库如何创建索引
主键索引 添加PRIMARY KEY
ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
mysql数据库如何创建索引
mysql数据库如何创建索引
唯一索引添加UNIQUE
ALTER TABLE `table_name` ADD UNIQUE ( `column` )
mysql数据库如何创建索引
全文索引添加FULLTEXT
ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
mysql数据库如何创建索引
如何添加多列索引
ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
mysql数据库如何创建索引
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` )
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)