[請益] 在資料表上加上索引,卻讓mysql過載

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

Links booklink

Contact Us: admin [ a t ] ucptt.com