创建索引:
1.在创建表的同时声明索引 .CREATE TABLE ......
CREATE TABLE t1(id int,name char(30),index idx_id(id));
2.在已存在表上利用修改语句创建索引. ALTER TABLE ......ALTER TABLE t1 ADD INDEX idx_name(name);
3.在已存在表上创建索引.CREATE INDEX ......CREATE UNIQUE INDEX idx_id_name ON t1(id,name);#创建唯一索引
4.通过图形界面添加索引查看索引:
show index from 表名;#查看表的索引
show create table 表名;#查看表的设计实例:
CREATE TABLE hhh(
a int AUTO_INCREMENT, #主键,AUTO自动排序赋值
b int, #带普通索引
c int, #不带索引
INDEX idx_b(b),#创建普通索引
PRIMARY KEY (a)
);
#往hhh表中插入80000个随机数字(利用存储过程插入)
CREATE PROCEDURE hhh_insert() #创建存储过程
BEGIN
DECLARE i INT DEFAULT 1;#声明变量i并赋值1
WHILE i<80000 DO
INSERT INTO hhh(b,c) SELECT rand()*80000,rand()*80000;#rand产生随机数
SET i=i+1;
END WHILE;
COMMIT;
END;#执行上面的存储过程
CALL hhh_insert();#测试一,带索引和不带索引对于查找数据的区别
SELECT COUNT(*) FROM hhh;
#分析下面三条查询语句的区别
EXPLAIN SELECT * FROM hhh WHERE a=10000;#主键
EXPLAIN SELECT * FROM hhh WHERE b=10000;#带索引
EXPLAIN SELECT * FROM hhh WHERE c=10000;#不带索引#查看具体的查询时间的区别
SELECT * FROM hhh WHERE a=10000;#主键 0.00s
SELECT * FROM hhh WHERE b=10000;#带索引 0.00s
SELECT * FROM hhh WHERE c=10000;#不带索引 0.03s索引的目的:
#结论:索引能提高查询速度
删除索引:
1.使用ALTER TABLE删除索引
ALTER TABLE 表名 DROP INDEX 索引名;
2.使用DROP INDEX删除索引
DROP INDEX内部映射到ALTER TABLE语句.语法规则如下:DROP INDEX 索引名 ON 表名;
3.利用图形界面直接删除
数据库,索引
于 2022-03-23 11:43:33 首次发布