当前位置:首页 > 应用开发

Mysql多表关联不走索引的原因及分析

刚入职第一天,表关有个大佬写了一个统计函数count(*)需要对两张表a,走索b做统计。咋一看挺简单的引的原因,可是及分表a有1000万条数据,表b有300万条数据。表关使用LEFT JOIN进行查询。走索结果,高防服务器引的原因一直查询不出来,及分可能时间就很久了。表关然后,走索这个锅就甩给第一天入职的引的原因我(我???)。

接下来,及分就研究一下如何对海量数据的亿华云表关查询进行优化。

Mysql多表关联不走索引的原因及分析

一、走索准备过程

1.创建两张表,引的原因表A large_student_tb(幼儿园大班学生哈哈):1000万条。表B samll_student_tb(小班学生orzzzzzzz):300万条。不建立索引的情况。

Mysql多表关联不走索引的原因及分析

a,建立存储过程:插入1000万条数据。云南idc服务商n=10000000+1//为结束判断条件

Mysql多表关联不走索引的原因及分析

-- 创建存储过程 DROP PROCEDURE IF EXISTS my_insert; CREATE PROCEDURE my_insert() BEGIN DECLARE n int DEFAULT 1; loopname:LOOP INSERT INTO `large_student_tb`(`id`,`username`,`password`) VALUES ( n,CONCAT("myname",n),CONCAT("password",n)); SET n=n+1; IF n=1000000+1 THEN LEAVE loopname; END IF; END LOOP loopname; END; -- 执行存储过程 CALL my_insert(); -- 数据插入成功后修改表模式InnoDB 时间稍微久点 alter table `large_student_tb` engine=InnoDB;

分享到:

滇ICP备2023006006号-16