异常500,程序异常,Exception
当前位置:Exception500 » MySQL » 第十部分:MySQL多表关联优化

第十部分:MySQL多表关联优化

来源:exception500.com    发布时间:2020-05-15 16-03-02    浏览次数:980次

###第十部分:MySQL多表关联优化

#关闭查询缓存

SET GLOBAL query_cache_size = 0;

SET GLOBAL query_cache_type = 0;


###创建和删除索引

DROP INDEX idx_examId ON exam_student_subjective_fileurl_51_2019_10;

DROP INDEX idx_examId_examPaperId ON exam_student_subjective_fileurl_51_2019_10;


EXPLAIN 

SELECT F.*, E.courseName

FROM  exam_student_subjective_fileurl_51_2019_10 F,exam_paper E 

WHERE F.examPaperId = E.examPaperId AND F.examId = E.examId AND E.examId = 458;

#explain type值的含义

#ALL 全表扫描

#eq_ref 联表查询的情况,按联表的主键或唯一键联合查询。

#ref 非主键或唯一索引的等值检索


#explain 默认第一行出现的表就是驱动表,由查询优化器自动选择


#关联查询优化要点

#1. 外键上加索引

CREATE INDEX idx_examId ON exam_paper(examId);

#2. 查询条件上加索引

CREATE INDEX idx_examId_examPaperId ON exam_student_subjective_fileurl_51_2019_10(examId,examPaperId);


#移除索引

DROP INDEX idx_examId ON exam_paper;

DROP INDEX idx_examId_examPaperId ON exam_student_subjective_fileurl_51_2019_10;



[关键词: MySQLINDEX ]

软件开发 程序错误 异常 500错误 Exception Copyright© 2019-2021  Exception500 版权所有  【蜀ICP备15020376号-9】  网站地图