→ jojobill: Schema設計, config, GCP 機器規格, 這些資料都沒有,版 02/14 22:19
→ jojobill: 友需要強大的通靈能力才能知道發生什麼問題 02/14 22:19
抱歉已補上,如有不清楚再補感謝!
→ AndCycle: 以前接過連index都沒設定還上線了好幾年的爛案子 ... 02/14 23:40
※ 編輯: oilolio (220.135.52.190), 02/15/2019 00:18:35
※ 編輯: oilolio (220.135.52.190), 02/15/2019 00:19:20
→ jojobill: 所以你用MyISAM來跑嗎? 因為你key_buffer_cache開了1G, 02/15 08:19
→ jojobill: join_buffer, sort_buff 都是session base的, 你開1G完 02/15 08:19
→ jojobill: 全錯誤,直接抓掉這兩個設定吧. query_chche 請直接關了, 02/15 08:19
→ jojobill: 非常無用 02/15 08:20
→ jojobill: 正常來說使用InnoDB是比較常見的engine, 用到MyISAM 大 02/15 08:26
→ jojobill: 概都是當年預設直接上. Table 有pk嗎, index有開太多嗎 02/15 08:26
有開index, 有PK;所以是拿掉sort_buffer_size=128跟query_cache_size = 128M 這兩個嗎
※ 編輯: oilolio (111.251.158.148), 02/15/2019 15:40:10
→ jojobill: 當然沒這麼簡單,拿掉key_buffer_size = 1024M,sort_buff 02/16 09:15
→ jojobill: er_size = 128M,read_buffer_size = 128M. 只是回收無謂 02/16 09:15
→ jojobill: 浪費的memory, 問題的關鍵可能在innodb設定跟schema設計 02/16 09:15
→ et69523820: 我覺得關鍵是LIMIT 依你的描述一張表有超過千萬 02/20 03:49
→ et69523820: LIMIT 0,1000000 快 02/20 03:49
→ et69523820: LIMIT 30000000,1000000 慢 02/20 03:49
→ et69523820: LIMIT 500000,1000000 快 02/20 03:49
→ et69523820: 關鍵在於前面的數字 比如第二條規則 02/20 03:50
→ et69523820: 他是把資料庫讀取3千萬筆資料出來 在讀取一百萬 02/20 03:50
→ et69523820: 而不是指標訂在3千萬筆的點 在讀取一百萬 02/20 03:50
→ et69523820: 要想辦法把前面數字壓低 02/20 03:50
→ bestlong: 用EXPLAIN分析看看吧,沒有schema與SQL資訊,難解啊 03/21 19:04