标题:
[电脑]
问个mysql数据库相关问题
[打印本页]
作者:
overall
时间:
2021-12-20 13:45
标题:
问个mysql数据库相关问题
办公室书报借阅系统需要优化,某张表容量大小10G左右,其中主要字段是summary,类型是mediumtext,内容是大段的utf8格式汉字书报简介。
现在关键字搜索用的是like '%xxx%',查一次要跑15min+,请问如何在软件层面优化能使全文搜索大幅减小检索时间?
[
本帖最后由 overall 于 2021-12-20 13:46 编辑
]
作者:
sceic
时间:
2021-12-20 13:50
把频繁查询的内容推到缓存上去
作者:
ffcactus
时间:
2021-12-20 14:03
posted by wap, platform: iPhone
如果是用PostgreSQL可以考虑新增tsvector列,专门处理这种情况。
但是估计My SQL没有此类功能。
作者:
ffcactus
时间:
2021-12-20 14:06
posted by wap, platform: iPhone
查了一下MySQL有 Full-Text Search Functions
作者:
mting
时间:
2021-12-20 14:38
like '%xxx%' 这样 index就么用了
试试
like 'xxx%'
第二就是折腾一次把mediumtext的field 做一个fulltext index
如果对搜索要求很高 要来回搜
还有个办法是mysql前面家一个专门的搜索引擎 elasticsearch 然后app 和elastic叫流
作者:
STR_ERR
时间:
2021-12-20 16:00
es ,mysql 异构到es里。找一个定时任务,定时同步就行。
作者:
huey
时间:
2021-12-20 21:55
posted by wap, platform: VIVO
搞个sphinx全文索引引擎啊。秒搜
作者:
yaoyuef
时间:
2021-12-20 23:21
posted by wap, platform: iPhone
mysql大概5.7.x后的某个版本开始支持中文的fulltext索引,但如果使用频率高长远来说还是得上es
作者:
梦飘零
时间:
2021-12-21 00:10
posted by wap, platform: Android
使用canal之类的工具将mysql数据实时同步至es中,之后使用es检索。
作者:
LTFYH
时间:
2021-12-21 07:29
posted by wap, platform: VIVO
数据量和并发大的话,还是用es做全文检索引擎吧。
欢迎光临 TGFC Lifestyle (http://bbs.tgfcer.com/)
Powered by Discuz! 6.0.0