MySQL索引的使用

一、索引的定义
(一)索引由数据库中一列或多列组合而成,其作用是提高对表中数据的查询速度
(二)索引的优点是可以提高检索数据的速度
(三)索引的缺点是创建和维护索引需要耗费时间
(四)索引可以提高查询速度,会减慢写入速度
二、索引的分类
(一)普通索引
(二)唯一索引
(三)全文索引:只能用于英文的字符串的字段上
(四)单列索引:在单个字段上创建索引
(五)多列索引:在多个字段上创建索引
(六)空间索引:用得比较少,要求必须是空间数据类型,不能为空
三、索引的创建
(一)创建表的时候创建索引
CREATE TABLE tbl_name(字段名称 字段类型 [完整性约束条件],…,[UNIQUE | FULLTEXT | SPATIAL] INDEX | KEY[索引名称]) (字段名称[(长度)] [ ASC | DESC]));
例如:
1、创建普通索引
CREATE TABLE test4(
id TINYINT UNSIGNED,
username VARCHAR(20),
INDEX in_id(id),
KEY in_username(username));
2、创建全文索引
CREATE TABLE test6(
id TINYINT UNSIGNED,
userDesc VARCHAR(20) NOT NULL,
FULLTEXT INDEX full_userDesc(userDesc);
3、创建多列索引
CREATE TABLE test7(
id TINYINT UNSIGNED,
test1 VARCHAR(20) NOT NULL,
test2 VARCHAR(20) NOT NULL,
test3 VARCHAR(20) NOT NULL,
INDEX mul_t1_t2_t3(test1,test2,test3)
4、创建空间索引
CREATE TABLE test10(
id TINYINT UNSIGNED,
test GEOMETRY NOT NULL,
SPATIAL INDEX spa_test(test)
)ENGINE=MyISAM
(二)在已经存在的表上创建索引
1、CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX 索引名称 ON 表名 {字段名称[(长度)] [ ASC | DESC]}
例如:
CREATE INDEX in_id ON test4(id)
2、ALTER TABLE tbl_name ADD [UNIQUE | FULLTEXT | SPATIAL] INDEX 索引名称 (字段名称[(长度)] [ ASC | DESC])
例如:
ALTER TABLE test4 ADD INDEX in_username(username)
四、索引的删除
DROP INDEX 索引名称 ON tbl_name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值