{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

MySQL系統查詢條件的子查詢條件中包含了主表字段,應該如何優化?

ISherryISherry 回答0 收藏1
收藏問題

2條回答

zhongmeizhi

zhongmeizhi

回答于2022-06-28 14:47

樓主的這個問題并不是非常清晰,但大體意思是說Mysql優化,實際上不同的業務場景可能會有不同的優化方案,比如有些場景可以配置查詢緩存,有些則不可以。

1、對于查詢SQL語句的優化,一般來說先想到是加索引

2、使用explain查看SQL語句的執行計劃,看看時間主要花費在什么地方

3、根據業務場景,調整表結構,優化子查詢的效率

4、根據業務場景,對表進行適當的拆分,將這個查詢需要的字段多帶帶拆分到一個表中。

更多的優化方案可以關注我回答的“如何使用phpMyadmin優化MySQL數據庫?”這個問題。感謝

評論0 贊同0
  •  加載中...
icattlecoder

icattlecoder

回答于2022-06-28 14:47

子查詢優化策略

對于不同類型的子查詢,優化器會選擇不同的策略。

1. 對于 IN、=ANY 子查詢,優化器有如下策略選擇:

  • semijoin
  • Materialization
  • exists
  • 2. 對于 NOT IN、<>ALL 子查詢,優化器有如下策略選擇:
  • Materialization
  • exists
  • 3. 對于 derived 派生表,優化器有如下策略選擇:
  • derived_merge,將派生表合并到外部查詢中(5.7 引入 );
  • 將派生表物化為內部臨時表,再用于外部查詢。
  • 注意:update 和 delete 語句中子查詢不能使用 semijoin、materialization 優化策略

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<