作者liisi (小心一點)
看板PHP
標題[請益] 在資料表上加上索引,卻讓mysql過載
時間Fri Feb 17 00:12:43 2017
大家晚安
想請問一下各位前輩
我在商品資料表上的幾個欄位 加上索引
想讓網站的某個部分 查詢變快一些 (商品資料有幾十萬筆)
中午才加上索引 結果下午有客戶反映 網站的瀏覽速度好像變慢了
直到下班的時候 網站就掛點了 進入頁面的時間 超級久
由於是拍賣平台 這掛點 還得了...........
心想說 我今天更新的程式 不足以讓網站掛掉啊
就去資料庫 show full processlist;
結果數十筆資料 都在 sending data
內容幾乎都在做跟商品查詢有關的sql語法
然後每個process 一直卡住好幾10秒
我找不出到底問題出在哪 後來想想今天還有做啥事
才想到 我有在商品的資料表加上索引
然後想說 怎可能加上索引 就發生這種事
但是還是想說先把索引拿掉看看
結果就好了 結果就好了 結果就好了 結果就好了 結果就好了
我一整個百思不得其解 囧rz
我們網站的主機 是其他部門在管的
我也沒辦法得知 主機是否有做啥設定之類的
只能來這問問大家 問題到底出在哪
拜託了 各位Q_Q
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.0.52.121
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1487261567.A.08E.html
※ 編輯: liisi (123.0.52.121), 02/17/2017 00:16:21
→ AndCycle: 你這是 Database 版的問題, 加索引會增加寫入負擔 02/17 02:34
→ et69523820: 你可以把索引加回去 看一下記憶體是不是被吃光了 02/17 02:53
→ et69523820: 如果加索引記憶體導致不夠用請檢查key_buffer_size 02/17 02:56
→ et69523820: 你資料庫是用mysql嗎 版本多少 版本如果是5.1那邊的 02/17 02:58
→ et69523820: 會容易有死鎖問題 02/17 02:58
→ sonicjr: 索引加太多欄位會反效果 而且才10幾萬筆就慢感覺不太對 02/17 11:44
→ chenxiaowoo: 嗯~幾個欄位? 有text嗎? 如果有建議不要,full text 02/19 12:11
→ chenxiaowoo: 的索引幾十萬筆...不是一般硬體撐得起的 02/19 12:12
推 IhaveASecret: 做一下 EXPLAIN [Query] 02/20 20:41