好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > SQL有外連接的時候注意過濾條件位置否則會導致網頁慢

SQL有外連接的時候注意過濾條件位置否則會導致網頁慢

熱門標簽:慶陽地圖標注 浙江穩定外呼系統供應商 北京400電話辦理多少錢 怎么給高德做地圖標注 電銷外呼系統軟件功能 美團地圖標注商戶認證注冊 咸陽電腦外呼系統運營商 榕城市地圖標注 承德地圖標注公司名需要花錢嗎
奶奶的,為啥現在五一節只放3天,5月的天氣最適合出游了,不過俺們這些苦逼的IT男是沒法享受了。
一來到公司,項目經理就找到開發leader,說我們網站 頁面很慢,讓他排查原因。
一聽說 網站慢,頁面慢哥就來精神了,哥的老本行就是 解決“慢”的問題。
開發leader 很郁悶的說,我們已經加了 memcache了,20分鐘 cache一次,咋個還是慢呢,
于是哥就問,那個網頁跑了哪些SQL? 能抓出來讓我看看嗎? 開發Leader 果斷的把SQL 抓了出來。
經過排查,我們發現了一個SQL確實跑得慢。該SQL 如下
復制代碼 代碼如下:

select *
from (select u.NAME UniversityName,
u.id UniversityId,
count(a.SIGNUPNUMBER) playercnt
from T_B_UNIVERSITY u
left join T_D_EDUCATION e
on e.UNIVERSITY_ID = u.id
left join T_D_VIDEO_PLAYER a
on a.USER_ID = e.user_id
and e.ISDEFAULT = 1
and e.ISVALID = 1
and a.AUDITSTATUS = 1
and a.ISVALID = 1
left join T_D_USER c
on a.USER_ID = c.id
and c.ISVALID = 1
where u.REGION_CODE like '43%'
group by u.NAME, u.id)
order by playercnt desc;

執行計劃如下
復制代碼 代碼如下:

執行計劃
----------------------------------------------------------
Plan hash value: 3938743742
--------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 142 | 10366 | 170 (3)| 00:00:03 |
| 1 | SORT ORDER BY | | 142 | 10366 | 170 (3)| 00:00:03 |
| 2 | HASH GROUP BY | | 142 | 10366 | 170 (3)| 00:00:03 |
|* 3 | HASH JOIN RIGHT OUTER| | 672 | 49056 | 168 (2)| 00:00:03 |
|* 4 | TABLE ACCESS FULL | T_D_USER | 690 | 5520 | 5 (0)| 00:00:01 |
| 5 | NESTED LOOPS OUTER | | 672 | 43680 | 162 (1)| 00:00:02 |
|* 6 | HASH JOIN OUTER | | 672 | 37632 | 14 (8)| 00:00:01 |
|* 7 | TABLE ACCESS FULL | T_B_UNIVERSITY | 50 | 2050 | 8 (0)| 00:00:01 |
| 8 | TABLE ACCESS FULL | T_D_EDUCATION | 672 | 10080 | 5 (0)| 00:00:01 |
| 9 | VIEW | | 1 | 9 | 0 (0)| 00:00:01 |
|* 10 | FILTER | | | | | |
|* 11 | TABLE ACCESS FULL| T_D_VIDEO_PLAYER | 1 | 15 | 3 (0)| 00:00:01 |
--------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - access("A"."USER_ID"="C"."ID"(+))
4 - filter("C"."ISVALID"(+)=1)
6 - access("E"."UNIVERSITY_ID"(+)="U"."ID")
7 - filter("U"."REGION_CODE" LIKE '43%')
10 - filter("E"."ISVALID"=1 AND "E"."ISDEFAULT"=1)
11 - filter("A"."USER_ID"="E"."USER_ID" AND "A"."AUDITSTATUS"=1 AND
"A"."ISVALID"=1)

大家能發現這個SQL 的問題嗎? 這個 SQL 之所以跑得慢是因為開發人員把SQL的條件寫錯位置了
正確的寫法應該是 下面這樣的
復制代碼 代碼如下:

select *
from (select u.NAME UniversityName,
u.id UniversityId,
count(a.SIGNUPNUMBER) playercnt
from T_B_UNIVERSITY u
left join T_D_EDUCATION e
on e.UNIVERSITY_ID = u.id
and e.ISDEFAULT = 1
and e.ISVALID = 1
left join T_D_VIDEO_PLAYER a
on a.USER_ID = e.user_id
and a.AUDITSTATUS = 1
and a.ISVALID = 1
left join T_D_USER c
on a.USER_ID = c.id
and c.ISVALID = 1
where u.REGION_CODE like '43%'
group by u.NAME, u.id)
order by playercnt desc;

執行計劃如下
復制代碼 代碼如下:

執行計劃
----------------------------------------------------------
Plan hash value: 2738827747
---------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 142 | 11218 | 25 (16)| 00:00:01 |
| 1 | SORT ORDER BY | | 142 | 11218 | 25 (16)| 00:00:01 |
| 2 | HASH GROUP BY | | 142 | 11218 | 25 (16)| 00:00:01 |
|* 3 | HASH JOIN RIGHT OUTER | | 301 | 23779 | 23 (9)| 00:00:01 |
|* 4 | TABLE ACCESS FULL | T_D_USER | 690 | 5520 | 5 (0)| 00:00:01 |
|* 5 | HASH JOIN RIGHT OUTER| | 301 | 21371 | 17 (6)| 00:00:01 |
|* 6 | TABLE ACCESS FULL | T_D_VIDEO_PLAYER | 78 | 1170 | 3 (0)| 00:00:01 |
|* 7 | HASH JOIN OUTER | | 301 | 16856 | 14 (8)| 00:00:01 |
|* 8 | TABLE ACCESS FULL | T_B_UNIVERSITY | 50 | 2050 | 8 (0)| 00:00:01 |
|* 9 | TABLE ACCESS FULL | T_D_EDUCATION | 301 | 4515 | 5 (0)| 00:00:01 |
---------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - access("A"."USER_ID"="C"."ID"(+))
4 - filter("C"."ISVALID"(+)=1)
5 - access("A"."USER_ID"(+)="E"."USER_ID")
6 - filter("A"."AUDITSTATUS"(+)=1 AND "A"."ISVALID"(+)=1)
7 - access("E"."UNIVERSITY_ID"(+)="U"."ID")
8 - filter("U"."REGION_CODE" LIKE '43%')
9 - filter("E"."ISDEFAULT"(+)=1 AND "E"."ISVALID"(+)=1)

之前SQL要跑至少5秒以上,現在0.1秒能出結果。
各位童鞋,SQL 有外連接的時候,要注意過濾條件的位置,記住啦!!!
有SQL 需要優化的 歡迎加入 QQ 群 220761024 申請注明 來自CSDN

標簽:重慶 上海 拉薩 呼和浩特 新鄉 江蘇 貴州 昭通

巨人網絡通訊聲明:本文標題《SQL有外連接的時候注意過濾條件位置否則會導致網頁慢》,本文關鍵詞  SQL,有,外,連接,的,時候,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL有外連接的時候注意過濾條件位置否則會導致網頁慢》相關的同類信息!
  • 本頁收集關于SQL有外連接的時候注意過濾條件位置否則會導致網頁慢的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: japanesexxxxfree动漫| 男人看的网站| 高潮?国产?喷水?白网站| 农村乡下小妺18毛片A级| 叶子楣的奶头被吸得又红又肿| 欧美人艺体| 国产第一福利精品导航| 丞相嗲嗲嗯啊h弄亲女| 香蕉久久尹尹一人钱网| 91久久久无码精品不卡A片直播| 在线不卡一区二区| 推荐一些包含国产的在线观看视频网站| 亚洲欧美日韩国产一区图片| 91三级视频在线观看| 双性娇喘浑圆奶水H男男| 国产精品videossex久久| tube44欧美激情| 爱恋| 百合全黄h全肉细节文| 人妻熟女另类综合图区无弹窗| 无删减遮羞漫画比邻而交| 又大又硬又爽又粗又快的视频免费| 吻戏辣妞范1000部体验区| 放荡娇妻肉交换h爽| 亚洲精品久久久久久久观小说 | 韩日一级视频| 在线播放真实国产乱子伦| 国产精品无码AV天天爽视频 | 添人人躁日日躁夜夜躁夜夜揉| 欧美高清videosddfsexhd| 国产AⅤ明星无码免费看| 黄色一级电影免费| 女生隐私免费看| yasee亚瑟9999101| 国产精品永久免费视频| 葫芦娃污版| 扒开老师的湿润小泬喷白浆动漫 | 中国bgmbgmbgm老头同志| K频道日航成人精品一区二区| 偷拍区小说区图片区另类呻吟| 老女人一级全黄肉体毛片|