sql中索引的使用分析

主要学习和记录sql中索引的使用

1.批量在库里插入了27W条数据

CREATE DEFINER=`root`@`%` PROCEDURE `批量插入`()

BEGIN

#Routine body goes here...

DECLARE i int;

SET i=1;

WHILE (i<100000) DO

insert into kucun_info (shop_name,shop_code,shop_price,shop_inventory,shop_source) VALUES(972,875,3445,37655,654);

set i = i+1;

END WHILE;

END

2.EXPLAIN +sql语句的分析

EXPLAIN SELECT * FROM kucun_info WHERE kucunid = 3 -- const级别

EXPLAIN SELECT * FROM kucun_info WHERE shop_code = "XJ_001"

EXPLAIN SELECT * FROM kucun_info WHERE shop_name = "香蕉001"-- ref 级别

3.分析

-- 27W条数据

SET profiling = 1;

SELECT * FROM kucun_info WHERE shop_code = "XJ_001" -- 没加索引 0.086S

SELECT * FROM kucun_info WHERE shop_name = "香蕉001"-- 添加索引 0.015S

SELECT kucunid FROM kucun_info WHERE shop_code = "PT_001"

SELECT * FROM kucun_info WHERE shop_name = "葡萄001"

SHOW PROFILES; -- 查看执行sql语句的时间

可以分析出:27W条数据 加索引能快5倍

相关推荐
Kt&Rs34 分钟前
MySQL复制技术的发展历程
数据库·mysql
小小菜鸡ing37 分钟前
pymysql
java·服务器·数据库
手握风云-43 分钟前
MySQL数据库精研之旅第十六期:深度拆解事务核心(上)
数据库·mysql
boonya2 小时前
Redis核心原理与面试问题解析
数据库·redis·面试
沙二原住民2 小时前
提升数据库性能的秘密武器:深入解析慢查询、连接池与Druid监控
java·数据库·oracle
三毛20042 小时前
玳瑁的嵌入式日记D33-0908(SQL数据库)
jvm·数据库·sql
叫我龙翔2 小时前
【MySQL】从零开始了解数据库开发 --- 库的操作
数据库·mysql·数据库开发
没有bug.的程序员2 小时前
Redis Stream:轻量级消息队列深度解析
java·数据库·chrome·redis·消息队列
GottdesKrieges3 小时前
OceanBase容量统计:租户、数据库、表大小
数据库·oceanbase
pan3035074793 小时前
mysql 回表查询(二次查询,如何检查,如何规避)
数据库·mysql