Discuz! 官方交流社區(qū)
標題: forum_thread主題表頻繁鎖表,有什么好辦法么? [打印本頁]
作者: ink 時間: 2022-5-8 11:20
標題: forum_thread主題表頻繁鎖表,有什么好辦法么?
forum_thread(myisam)表大概1.6G大小,頻繁的被鎖表,而且mysql的慢查詢幾乎都和這個表有關系,類似的慢查詢記錄:
# Time: 2022-05-08T01:51:00.188791Z
# User@Host: ****@localhost [127.0.0.1] Id: 880133
# Query_time: 3.783841 Lock_time: 0.094868 Rows_sent: 1 Rows_examined: 1816276
SET timestamp=1651974660;
SELECT t.tid, t.closed, t.author, t.authorid FROM forum_thread tWHERE t.fid IN('176','183','166','147','174','31','56','77','78','80','76','158','160','167','171','178','179','240','241','247','248','249','262','282','156','74','70','71','72','73','69','97','161','86','136','169','173','175','92','94','182','281','159','285','88','89','90','48','25','21')AND t.displayorder>='0' AND (0 OR t.subject LIKE '*****') ORDER BY tidDESC LIMIT 500;
之前嘗試給dateline加了索引,情況有輕微的改善,看上面的記錄應該都是和搜索有關系的,論壇已經(jīng)限制僅僅能搜索主題,但就這樣如果還因為搜索頻繁鎖表的話,總不能禁止了搜索功能……
請高手指點一下,萬分感謝?。。。。。。。。。。。。?!
作者: mingkong 時間: 2022-5-8 12:41
看起來不是很像系統(tǒng)自帶的查詢語句,可以請人改進這個慢查詢的查詢方法。
作者: 耗子 時間: 2022-5-8 13:15
會不會和插件有關系, 分表下試試
作者: ink 時間: 2022-5-8 14:41
它這個搜索有具體搜索關鍵詞的,我只是打了*號,可能不會是插件吧。
作者: ink 時間: 2022-5-8 14:41
應該就是這個搜索界面:http://r615.cn/search.php?mod=forum&adv=yes
作者: ink 時間: 2022-5-8 14:43
而且主題表不敢分表啊,后患無窮
以前進行過用戶表優(yōu)化,后悔不已,有陰影了……
作者: 科站網(wǎng) 時間: 2022-5-8 16:02
搜索本身就挺費的,可以試試換成innodb,限制搜索時間,或者使用插件https://addon.dismall.com/plugins/xunsearch.html
作者: dashen 時間: 2022-5-8 19:42
不像自帶的sql
作者: ink 時間: 2022-5-10 12:20
我曾經(jīng)也懷疑過,所以剛才去后臺設置內把搜索的最大搜索結果改成了400,過了一會再去看慢日志:
\n# Time: 2022-05-10T04:10:13.815770Z\n# User@Host: *** @ localhost [127.0.0.1] Id: 8774685\n# Query_time: 3.068823 Lock_time: 0.000116 Rows_sent: 43 Rows_examined: 1817067\nSET timestamp=1652155813;\nSELECT t.tid, t.closed, t.author, t.authorid FROM forum_thread t WHERE t.fid IN ('176','183','166','147','174','31','56','77','78','80','76','158','160','167','171','178','179','240','241','247','248','249','262','282','156','74','70','71','72','73','69','97','161','86','136','169','173','175','92','94','182','281','159','285','88','89','90','48','25','21') AND t.displayorder>='0' AND (0 OR t.subject LIKE '%s905x3%') ORDER BY tid DESC LIMIT 400;
還真得就是系統(tǒng)自帶的搜索。
作者: ink 時間: 2022-5-10 17:56
請教一下,主題表目前1.6G,沒有分表,已經(jīng)建立下圖中這些索引,是否合理?萬分感謝!
(, 下載次數(shù): 37)
作者: 天外飄仙 時間: 2022-5-12 08:54
可以試試 我開發(fā)的xunsearch搜索插件: https://addon.dismall.com/plugins/twpx_xunsearch.html
搜索速度和效果 要比 dz自帶的好 不少——而且全文搜索 也不會對 數(shù)據(jù)庫造成壓力
作者: ink 時間: 2022-5-12 10:42
謝謝推薦,這類插件我看過,可惜我的站點暫時還是GBK的,另外可能馬上面臨3.5的升級,暫時還是緩一緩。
作者: jiangchuankyo 時間: 2022-5-12 19:19
用排除法即可:
把你的查詢時間很久的那句復制到mysqladmin自定義執(zhí)行命令里面去手動查看, 看看要多久,
然后依次該句的條件項, 看是哪一個條件引起的耗時
歡迎光臨 Discuz! 官方交流社區(qū) (http://r615.cn/) |
Powered by Discuz! X5.0 |