[SQL ] MySQL千萬筆資料Select很久

作者: oilolio (OG8)   2019-02-14 20:24:44
資料庫名稱:MySQL
資料庫版本:5.5.60
內容/問題描述:
想請問各位版上大神,小弟資料庫有幾個table資料數超過百萬,更有三四個超過
三四千萬還在持續長大,使用GCP的主機8核16G記憶體,先不論程式碼或SQL語句優化
目前光是一般的Select不加任何Where條件,LIMIT一百萬筆出來就需要花上一分鐘以上
,三四千萬的table直接卡住,請問是config檔沒有設定好嗎?有哪些設定最主要影響的嗎?
google到的設定改了之後都無感,但兩三百萬筆的資料搜尋會需要這麼久嗎?
有勞各位大神指點迷津了!
作者: jojobill (..)   2019-02-14 22:19:00
Schema設計, config, GCP 機器規格, 這些資料都沒有,版友需要強大的通靈能力才能知道發生什麼問題
作者: AndCycle (AndCycle)   2019-02-14 23:40:00
以前接過連index都沒設定還上線了好幾年的爛案子 ...
作者: jojobill (..)   2019-02-15 08:19:00
所以你用MyISAM來跑嗎? 因為你key_buffer_cache開了1G,join_buffer, sort_buff 都是session base的, 你開1G完全錯誤,直接抓掉這兩個設定吧. query_chche 請直接關了,非常無用正常來說使用InnoDB是比較常見的engine, 用到MyISAM 大概都是當年預設直接上. Table 有pk嗎, index有開太多嗎
作者: et69523820 (小豬)   2019-02-20 03:49:00
我覺得關鍵是LIMIT 依你的描述一張表有超過千萬LIMIT 0,1000000 快LIMIT 30000000,1000000 慢LIMIT 500000,1000000 快關鍵在於前面的數字 比如第二條規則他是把資料庫讀取3千萬筆資料出來 在讀取一百萬而不是指標訂在3千萬筆的點 在讀取一百萬要想辦法把前面數字壓低
作者: bestlong (bestlong)   2019-03-21 19:04:00
用EXPLAIN分析看看吧,沒有schema與SQL資訊,難解啊

Links booklink

Contact Us: admin [ a t ] ucptt.com