mysql查询很慢优化方法1
生活随笔
收集整理的這篇文章主要介紹了
mysql查询很慢优化方法1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
解決方法:
關聯的字段建索引。
具體分析如下:
舉例:
表格:培訓學生表,班級報名表
需求:查詢出學生報了哪些班級
兩表有個關聯字段“CD”(學生學號)。
視圖sql:
SELECT`t_px_stu`.`PX_STU_PK` AS `PX_STU_PK`,`t_px_stu`.`SYS_USER_PK` AS `SYS_USER_PK`,`t_px_stu`.`CD` AS `CD`,`t_px_stu`.`NM` AS `NM`,`t_px_stu`.`MOB` AS `MOB`,`t_px_stu`.`PHONE` AS `PHONE`,`t_px_stu`.`KINS_PHONE` AS `KINS_PHONE`,`t_px_stu`.`SEX` AS `SEX`,`t_px_stu`.`AGE` AS `AGE`,`t_px_stu`.`ADDRESS` AS `ADDRESS`,`t_px_stu`.`ID_CARD` AS `ID_CARD`,`t_px_stu`.`POLI_CD` AS `POLI_CD`,`t_px_stu`.`POLI_NM` AS `POLI_NM`,`t_px_stu`.`EDU_CD` AS `EDU_CD`,`t_px_stu`.`EDU_NM` AS `EDU_NM`,`t_px_stu`.`NATU_CD` AS `NATU_CD`,`t_px_stu`.`NATU_NM` AS `NATU_NM`,`t_px_stu`.`IMG_URL` AS `IMG_URL`,`t_px_stu`.`RMKS` AS `RMKS`,`t_px_stu`.`CAT_CD` AS `CAT_CD`,`t_px_stu`.`CAT_NM` AS `CAT_NM`,`t_px_stu`.`STAT_CD` AS `STAT_CD`,`t_px_stu`.`STAT_NM` AS `STAT_NM`,`t_px_stu`.`CRT_TM` AS `CRT_TM`,`t_px_stu`.`CRT_BY` AS `CRT_BY`,`t_px_stu`.`UPD_TM` AS `UPD_TM`,`t_px_stu`.`UPD_BY` AS `UPD_BY`,`t_px_stu`.`EDIT_FLAG` AS `EDIT_FLAG`,`t_px_clazz_apply`.`ARG1` AS `ARG1` FROM`t_px_stu` LEFT JOIN `t_px_clazz_apply` ON`t_px_stu`.`CD` =`t_px_clazz_apply`.`CD`ORDER BY`t_px_stu`.`CRT_TM` DESC執行時間:37.621秒
查看sql解析
t_px_stu表查詢了6167次,這是沒辦法的,它是主表,需要逐條去查。
t_px_clazz_apply 查詢了22127次,這是需要優化的。這張表總共才22458行,優化的地方找到了。
優化方法:
給t_px_clazz_apply 的cd字段建索引。
create index t_px_clazz_apply_cd_index on t_px_clazz_apply(cd);再執行,執行時間:0.187秒
查看sql解析:
t_px_stu表查詢了6167次,這是沒辦法的,它是主表,需要逐條去查。
t_px_clazz_apply 查詢了3次,索引起作用了。
總結
以上是生活随笔為你收集整理的mysql查询很慢优化方法1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java并发编程之堵塞队列介绍以及Ski
- 下一篇: Spark集群运行jar包程序里的pri