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

看板PHP作者 (小心一點)時間7年前 (2017/02/17 00:12), 7年前編輯推噓1(108)
留言9則, 5人參與, 最新討論串1/3 (看更多)
大家晚安 想請問一下各位前輩 我在商品資料表上的幾個欄位 加上索引 想讓網站的某個部分 查詢變快一些 (商品資料有幾十萬筆) 中午才加上索引 結果下午有客戶反映 網站的瀏覽速度好像變慢了 直到下班的時候 網站就掛點了 進入頁面的時間 超級久 由於是拍賣平台 這掛點 還得了........... 心想說 我今天更新的程式 不足以讓網站掛掉啊 就去資料庫 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

02/17 02:34, , 1F
你這是 Database 版的問題, 加索引會增加寫入負擔
02/17 02:34, 1F

02/17 02:53, , 2F
你可以把索引加回去 看一下記憶體是不是被吃光了
02/17 02:53, 2F

02/17 02:56, , 3F
如果加索引記憶體導致不夠用請檢查key_buffer_size
02/17 02:56, 3F

02/17 02:58, , 4F
你資料庫是用mysql嗎 版本多少 版本如果是5.1那邊的
02/17 02:58, 4F

02/17 02:58, , 5F
會容易有死鎖問題
02/17 02:58, 5F

02/17 11:44, , 6F
索引加太多欄位會反效果 而且才10幾萬筆就慢感覺不太對
02/17 11:44, 6F

02/19 12:11, , 7F
嗯~幾個欄位? 有text嗎? 如果有建議不要,full text
02/19 12:11, 7F

02/19 12:12, , 8F
的索引幾十萬筆...不是一般硬體撐得起的
02/19 12:12, 8F

02/20 20:41, , 9F
做一下 EXPLAIN [Query]
02/20 20:41, 9F
文章代碼(AID): #1OfSz_2E (PHP)
文章代碼(AID): #1OfSz_2E (PHP)