最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談mysql的子查詢聯(lián)合與in的效率

 更新時(shí)間:2017年10月12日 16:35:01   作者:freeheron  
本文是作者在實(shí)際產(chǎn)品測(cè)試中遇到的問題,繼而作了相關(guān)總結(jié),具有一定參考價(jià)值,需要的朋友可以了解下。

最近的產(chǎn)品測(cè)試發(fā)現(xiàn)一個(gè)問題,當(dāng)并發(fā)數(shù)量小于10時(shí),響應(yīng)時(shí)間可以維持在100毫秒以內(nèi)。但是當(dāng)并發(fā)數(shù)到達(dá)30個(gè)時(shí),響應(yīng)時(shí)間就超過1秒。這太不能接受了,要求是通過1秒中并發(fā)100個(gè)。

經(jīng)過檢測(cè)發(fā)現(xiàn),時(shí)間主要是耗在其中的一個(gè)存儲(chǔ)過程中。把存儲(chǔ)過程的語句一條一條的過一遍也沒有發(fā)現(xiàn)明顯的不合理。因?yàn)閙ysql本身不能提供毫秒級(jí)別的時(shí)間,google了一個(gè)mysql的能提供毫秒的時(shí)間函數(shù),再做測(cè)試,做了一個(gè)定位。發(fā)現(xiàn)是其中一條語句,語句是這個(gè)樣子:

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

in 子查詢語句的結(jié)果很少,就幾條。explain 這條語句,也沒有什么問題。單條測(cè)試也沒有問題。但是當(dāng)并發(fā)數(shù)大時(shí)問題就出來了。

做了個(gè)改變:

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

再做測(cè)試,性能大為改觀。50個(gè)并發(fā)與10個(gè)并發(fā)幾乎是相同的響應(yīng)速度。

在mysql中,mysql可能都建議改成使用子查詢的聯(lián)合,而不用in。以前沒有經(jīng)過實(shí)驗(yàn)。現(xiàn)在終于看見其中的效率了。當(dāng)然,也不能盡相信。還是得根據(jù)自己的應(yīng)用來。最好是能做一些測(cè)試和實(shí)驗(yàn)。

總結(jié)

以上就是本文關(guān)于淺談mysql的子查詢聯(lián)合與in的效率的全部內(nèi)容,希望對(duì)大家有所幫助。

感興趣的朋友可以參考:

幾個(gè)比較重要的MySQL變量

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

mysql數(shù)據(jù)庫開發(fā)規(guī)范【推薦】

有什么問題歡迎留言,大家一起交流討論。在此也希望朋友們對(duì)腳本之家網(wǎng)站多多支持!

相關(guān)文章

  • vscode安裝mysql相關(guān)插件的詳細(xì)步驟

    vscode安裝mysql相關(guān)插件的詳細(xì)步驟

    這篇文章主要給大家介紹了關(guān)于vscode安裝mysql相關(guān)插件的詳細(xì)步驟,這將幫助你更高效地管理數(shù)據(jù)庫操作,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • MySQL8.0 如何快速加列

    MySQL8.0 如何快速加列

    這篇文章主要介紹了MySQL8.0 如何快速加列,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-09-09
  • MYSQL查看時(shí)區(qū)并設(shè)置時(shí)區(qū)的實(shí)現(xiàn)示例

    MYSQL查看時(shí)區(qū)并設(shè)置時(shí)區(qū)的實(shí)現(xiàn)示例

    本文主要介紹了MYSQL查看時(shí)區(qū)并設(shè)置時(shí)區(qū)的實(shí)現(xiàn)示例,包括查看全局和會(huì)話時(shí)區(qū)設(shè)置,設(shè)置全局和會(huì)話時(shí)區(qū)為東八區(qū),具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-03-03
  • mysql實(shí)現(xiàn)將date字段默認(rèn)值設(shè)置為CURRENT_DATE

    mysql實(shí)現(xiàn)將date字段默認(rèn)值設(shè)置為CURRENT_DATE

    這篇文章主要介紹了mysql實(shí)現(xiàn)將date字段默認(rèn)值設(shè)置為CURRENT_DATE問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • MySQL 8.4版本離線部署的實(shí)現(xiàn)

    MySQL 8.4版本離線部署的實(shí)現(xiàn)

    本文主要介紹了MySQL 8.4版本離線部署的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • MySQL中IF語句的基礎(chǔ)及進(jìn)階用法

    MySQL中IF語句的基礎(chǔ)及進(jìn)階用法

    在Mysql數(shù)據(jù)庫中實(shí)現(xiàn)判斷功能有很多方式,具體又分為函數(shù)和if語句形式,下面這篇文章主要給大家介紹了關(guān)于MySQL中IF語句的基礎(chǔ)及進(jìn)階用法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • 詳解SQL四種語言:DDL DML DCL TCL

    詳解SQL四種語言:DDL DML DCL TCL

    本文詳細(xì)介紹了sql的四種語言,包括數(shù)據(jù)定義語言(DDL)、數(shù)據(jù)操作語言(DML)、數(shù)據(jù)控制語言(DCL)和事物控制語言(TCL)。在這幾種語言中有疑惑的可以來看看這篇文章。
    2016-07-07
  • mysql表的清空、刪除和修改操作詳解

    mysql表的清空、刪除和修改操作詳解

    這篇文章主要詳細(xì)介紹了mysql表的清空、刪除和修改操作的方法,以及一些常用的mysql的常用操作,非常的簡單實(shí)用,有需要的可以參考下
    2014-09-09
  • 一步一步教你網(wǎng)站同步鏡像(轉(zhuǎn)載)

    一步一步教你網(wǎng)站同步鏡像(轉(zhuǎn)載)

    一步一步教你網(wǎng)站同步鏡像(轉(zhuǎn)載)...
    2006-10-10
  • 基于SQL中SET與SELECT賦值的區(qū)別詳解

    基于SQL中SET與SELECT賦值的區(qū)別詳解

    本篇文章是對(duì)SQL中SET與SELECT賦值的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06

最新評(píng)論

乌兰察布市| 余姚市| 宕昌县| 南皮县| 焦作市| 千阳县| 南昌县| 敦化市| 根河市| 绥阳县| 资兴市| 栾川县| 湘乡市| 米脂县| 长沙市| 丽江市| 桃江县| 西昌市| 乌鲁木齐县| 肃南| 海宁市| 湖北省| 洛川县| 朝阳县| 许昌市| 炉霍县| 兴业县| 安多县| 辽源市| 阜康市| 蒲江县| 汝城县| 溧阳市| 云安县| 衡南县| 济宁市| 武川县| 洛浦县| 珠海市| 阿合奇县| 天长市|