首页 > 数据库> > |NO.Z.00061|——————————|BigDataEnd|——|Java&MySQL索引/存储过程/触发器.V02|-------------------------|MySQL.v02|索
|NO.Z.00061|——————————|BigDataEnd|——|Java&MySQL索引/存储过程/触发器.V02|-------------------------|MySQL.v02|索
作者:互联网
[BigDataJava:Java&MySQL索引/存储过程/触发器.V02] [BigDataJava.MySQL基础][|第二阶段|模块一|——|章节四|mysql基础|mysql索引/存储过程/触发器|索引性能测试|索引优缺点|]
一、索引性能测试
### --- 导入数据表
——> 选中 db4数据库 右键 导入SQL脚本
二、 找到软件文件夹下的 测试索引.sql文件, 点击执行### --- 查询 test_index 表中的总记录数
——> 表中有 500万条数据
SELECT COUNT(*) FROM test_index;
三、测试### --- 在没有添加索引的情况下, 使用 dname 字段进行查询
~~~ # 未添加索引,进行分组查询
SELECT * FROM test_index GROUP BY dname;
### --- 耗时
### --- 为 dname字段 添加索引
——> 注意: 一般我们都是在创建表的时候 就确定需要添加索引的字段
~~~ # 添加索引
ALTER TABLE test_index ADD INDEX dname_indx(dname);
### --- 执行分组查询
SELECT * FROM test_index GROUP BY dname;
四、索引的优缺点总结### --- 添加索引首先应考虑在 where 及 order by 涉及的列上建立索引。
~~~ # 索引的优点
——> 1. 大大的提高查询速度
——> 2. 可以显著的减少查询中分组和排序的时间。
~~~ # 索引的缺点
——> 1. 创建索引和维护索引需要时间,而且数据量越大时间越长
——> 2. 当对表中的数据进行增加,修改,删除的时候,索引也要同时进行维护,降低了数据的维护速度
五、sql语句### --- sql语句
-- 导入测试索引.sql 文件
-- test_index 表中有 500万条数据
SELECT COUNT(*) FROM test_index;
-- 通过id查询一条数据
SELECT * FROM test_index WHERE id = 100001;
-- 通过 dname字段查询 耗时2秒左右
SELECT * FROM test_index WHERE dname = 'name5200';
-- 执行分组查询 dname没有添加索引 36秒
SELECT * FROM test_index GROUP BY dname;
-- dname字段添加索引
ALTER TABLE test_index ADD INDEX dname_indx(dname);
SELECT * FROM test_index GROUP BY dname;
/*
索引的总结
创建索引的原则
优先选择为 经常出现在 查询条件或者排序 分组后面的字段 创建索引.
索引的优点
1.可以大大的提高查询速度
2.减少查询中分组和排序的时间
3.通过创建唯一索引保证数据的唯一性
索引缺点
1.创建和维护索引需要时间,数据量越大 时间越长.
2.表中的数据进行增删改操作时,索引也需要进行维护,降低了维护的速度
3.索引文件需要占据磁盘空间
*/
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
来自为知笔记(Wiz)
标签:index,Java,dname,查询,索引,MySQL,test,### 来源: https://www.cnblogs.com/yanqivip/p/16102139.html