mybatis使用分頁插件解決慢sql的問題

新項(xiàng)目上線沒多久,之前數(shù)據(jù)量小瓢对,后來數(shù)據(jù)量大了寿酌,開始出現(xiàn)分頁加載慢,有時(shí)還報(bào)超時(shí)異常硕蛹,經(jīng)過排查發(fā)現(xiàn)是使用了分頁插件的數(shù)量統(tǒng)計(jì)醇疼,造成的,參考此位大佬的文章(Pagehelper分頁查詢性能優(yōu)化)法焰,然后針對(duì)mysql語句有關(guān)表連接查詢的地方秧荆,如果用不到關(guān)聯(lián)表的數(shù)據(jù),就跟進(jìn)參數(shù)判斷是否聯(lián)表查詢埃仪,此問題得到了徹底解決乙濒,特此記錄

以下為上述鏈接的內(nèi)容:(支持原創(chuàng),如有侵權(quán)卵蛉,請(qǐng)聯(lián)系本人颁股,本人會(huì)妥善處理)? ?


Pagehelper分頁查詢性能優(yōu)化

pageHelper單表分頁查詢的效率其實(shí)是很快的,但是對(duì)于多張表join查詢可能會(huì)導(dǎo)致分頁查詢效率變慢傻丝,主要原因出現(xiàn)在pageHelper在執(zhí)行分頁的過程中是先查詢總條數(shù)的甘有,每次分頁都是執(zhí)行這個(gè)查詢總條數(shù)的sql,這個(gè)過程是非常慢的葡缰,不過這個(gè)還是取決于數(shù)據(jù)庫中表數(shù)據(jù)量非常大的情況亏掀,像單表數(shù)據(jù)超過百萬條之后,可能會(huì)導(dǎo)致查詢sql總條數(shù)超過1分鐘泛释,那么每次分頁查詢的時(shí)間全部都浪費(fèi)在查詢總條數(shù)上了滤愕,這肯定是不可取的,pageHelper默認(rèn)是執(zhí)行當(dāng)前的查詢sql進(jìn)行查詢分頁總條數(shù)怜校,單論查詢數(shù)據(jù)是很快的

limit 10條或100條都是毫秒級(jí)別的

分頁查詢慢主要原因就出在Pagehelper默認(rèn)執(zhí)行當(dāng)前的查詢sql

不過Pagehelper優(yōu)化之后的好處就是可以手動(dòng)寫查詢總條數(shù)

在Pagehelper5.0.0以上版本支持手動(dòng)count查詢語句

示例代碼:

下面這個(gè)是查詢分頁總條數(shù)的sql(報(bào)紅是因?yàn)槲襂DEA安裝mybatis插件的原因)间影,每次查詢分頁都會(huì)執(zhí)行這條sql不過效率要比默認(rèn)的快很多,因?yàn)樗菃伪聿樵兛倵l數(shù)的茄茁,這樣的話效率提高了上百倍魂贬,當(dāng)然這是是實(shí)例代碼蔓搞,是禁止select * 的

但是這樣寫其實(shí)要考慮一個(gè)問題就是查詢的總條數(shù)是否與前臺(tái)展示的真數(shù)據(jù)是否一致,這是一個(gè)問題随橘。

所以說要保證數(shù)據(jù)條數(shù)的一致性喂分,查詢sql必須用LEFT JOIN 左連接,否則會(huì)導(dǎo)致查詢的數(shù)據(jù)量與手動(dòng)查詢總條數(shù)數(shù)據(jù)量不一致

當(dāng)然机蔗,上面的只是其中我遇到的一種情況蒲祈,分享給大家,希望能給你們帶來幫助

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末萝嘁,一起剝皮案震驚了整個(gè)濱河市梆掸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌牙言,老刑警劉巖酸钦,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異咱枉,居然都是意外死亡卑硫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門蚕断,熙熙樓的掌柜王于貴愁眉苦臉地迎上來欢伏,“玉大人,你說我怎么就攤上這事亿乳∠跖。” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵葛假,是天一觀的道長(zhǎng)障陶。 經(jīng)常有香客問我,道長(zhǎng)聊训,這世上最難降的妖魔是什么抱究? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮魔眨,結(jié)果婚禮上媳维,老公的妹妹穿的比我還像新娘酿雪。我一直安慰自己遏暴,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布指黎。 她就那樣靜靜地躺著朋凉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪醋安。 梳的紋絲不亂的頭發(fā)上杂彭,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天墓毒,我揣著相機(jī)與錄音,去河邊找鬼亲怠。 笑死所计,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的团秽。 我是一名探鬼主播主胧,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼习勤!你這毒婦竟也來了踪栋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤图毕,失蹤者是張志新(化名)和其女友劉穎夷都,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體予颤,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡囤官,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛤虐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片治拿。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖笆焰,靈堂內(nèi)的尸體忽然破棺而出劫谅,到底是詐尸還是另有隱情,我是刑警寧澤嚷掠,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布捏检,位于F島的核電站,受9級(jí)特大地震影響不皆,放射性物質(zhì)發(fā)生泄漏贯城。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一霹娄、第九天 我趴在偏房一處隱蔽的房頂上張望能犯。 院中可真熱鬧,春花似錦犬耻、人聲如沸踩晶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽渡蜻。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間茸苇,已是汗流浹背排苍。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留学密,地道東北人淘衙。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像腻暮,于是被迫代替她去往敵國(guó)和親幔翰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355