国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

淺談mysql的子查詢聯合與in的效率

2024-07-24 12:51:04
字體:
來源:轉載
供稿:網友

最近的產品測試發現一個問題,當并發數量小于10時,響應時間可以維持在100毫秒以內。但是當并發數到達30個時,響應時間就超過1秒。這太不能接受了,要求是通過1秒中并發100個。

經過檢測發現,時間主要是耗在其中的一個存儲過程中。把存儲過程的語句一條一條的過一遍也沒有發現明顯的不合理。因為mysql本身不能提供毫秒級別的時間,google了一個mysql的能提供毫秒的時間函數,再做測試,做了一個定位。發現是其中一條語句,語句是這個樣子:

select .... from A, B where .....and A.id in (select id from C where ...);

in 子查詢語句的結果很少,就幾條。explain 這條語句,也沒有什么問題。單條測試也沒有問題。但是當并發數大時問題就出來了。

做了個改變:

select ... from A,B,(select ... from C where ...) S where ....;

再做測試,性能大為改觀。50個并發與10個并發幾乎是相同的響應速度。

在mysql中,mysql可能都建議改成使用子查詢的聯合,而不用in。以前沒有經過實驗。現在終于看見其中的效率了。當然,也不能盡相信。還是得根據自己的應用來。最好是能做一些測試和實驗。

總結

以上就是本文關于淺談mysql的子查詢聯合與in的效率的全部內容,希望對大家有所幫助。

感興趣的朋友可以參考:

幾個比較重要的MySQL變量

MySQL主庫binlog(master-log)與從庫relay-log關系代碼詳解

mysql數據庫開發規范【推薦】

有什么問題歡迎留言,大家一起交流討論。在此也希望朋友們對錯新站長站網站多多支持!

您可能感興趣的文章:

詳解Mysql多表聯合查詢效率分析及優化對MySQL幾種聯合查詢的通俗解釋Mysql聯合查詢UNION和UNION ALL的使用介紹Mysql聯合查詢UNION和Order by同時使用報錯問題的解決辦法mysql多表聯合查詢返回一張表的內容實現代碼mysql使用from與join兩表查詢的區別總結Mysql查詢正在執行的事務以及等待鎖的操作方式MySQL查詢中LIMIT的大offset導致性能低下淺析Mysql如何查詢某條記錄在分頁的第幾頁詳析Mysql兩表聯合查詢的四種情況總結
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳西县| 房产| 蓬溪县| 高雄市| 来安县| 历史| 巨鹿县| 鹿邑县| 丰台区| 高台县| 大安市| 蒙城县| 潮州市| 吉安市| 襄樊市| 阳江市| 宜章县| 嘉兴市| 普宁市| 隆化县| 玉树县| 马尔康县| 淮滨县| 金平| 石泉县| 江津市| 会昌县| 中方县| 兴山县| 新化县| 榕江县| 通城县| 基隆市| 吴旗县| 信阳市| 太保市| 芜湖市| 株洲市| 阿巴嘎旗| 丰顺县| 华容县|