在进行索引操作之前,可以进行一个压力测试,将一个100W数据量的数据库备份数据进行备份恢复:
准备 数据:
mysql: https://url69.ctfile.com/d/253469-56755836-403176?p=2206 (访问密码: 2206)
# 进行测试数据恢复操作:
mysql> source ~/t100w_baimei.sql
# 进行数据库程序服务压测:
mysqlslap --defaults-file=/etc/my.cnf --concurrency=100 --iterations=1 --create-schema='baimei' --query="select * from baimei.t100w where k2='VWlm'" engine=innodb --number-of-queries=2000 -uroot -p123456 -h192.168.30.101 -verbose
-- concurrency=100 模拟同时100会话连接;
-- iterations=1 测试执行的迭代次数,代表要在不同并发环境下,各自运行测试多少次
-- create-schema='test' 指定操作的数据库信息;
-- query="select * from test.100w where k2='780P'" 指定压测过程具体执行了什么语句操作
-- number-of-queries=2000 指定一共做了多少次查询,总的测试查询次数(并发客户数×每客户查询次数)
/usr/local/mysql/bin/mysqlslap --defaults-file=/data/3306/my.cnf --concurrency=100 --iterations=1 --create-schema='oldboy' --query="select * from oldboy.t100w where k2='VWlm'" engine=innodb --number-of-queries=2000 -uroot -p123456 -verbose;
进行索引建立优化:
mysql> alter table baimei.t100w add index idx_k2(k2);
在进行压测检查确认:
desc t100w;
show index from t100w;
索引信息的展示形式:
序号 | 索引标识 | 解释说明 |
---|---|---|
01 | PK(PRI) | 表示为聚簇索引,也可以理解为主键索引 |
02 | K(MUL) | 表示为辅助索引,也可以理解为一般索引 |
03 | UK | 表示唯一键索引 |
总结:
创建单列索引方法:
mysql> ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
-- 创建主键索引
mysql> alter table city add index idx_name(name);
-- 创建辅助索引
mysql> ALTER TABLE `table_name` ADD UNIQUE (`column`)
-- 创建唯一键索引
创建联合索引方法:
mysql> alter table city add index ix_na_po(name,population);
创建前缀索引方法:
mysql> alter table city add index ix_n(name(10));
删除索引信息:
# 删除索引信息(一般索引)
alter table 表名 drop index 索引名;
mysql> alter table t100w drop index idx_name;
-- 删除辅助索引
mysql> alter table t100w drop index baimei;
-- 删除联合索引
mysql> alter table t100w drop index id;
-- 删除唯一索引
# 删除索引信息(聚簇索引)
alter table 表名 drop primary key;
mysql> alter table t100w drop primary key;
-- 删除聚簇索引
mysql数据库索引构建过程(以及相关命令) : 连接
欢迎来撩 : 汇总all