gpt4 book ai didi

sql - 创建针对 FULLTEXT 搜索优化的第二列有什么意义吗?

转载 作者:行者123 更新时间:2023-11-29 01:05:43 24 4
gpt4 key购买 nike

我正在处理的项目对于需要搜索的每一列都有一个名为“ft[columnname]”的第二列,它有一个 FULLTEXT 索引,并且只搜索这一列。

此列包含一个“优化”文本,它是按以下方式从原始列自动生成的:

  • 字符串是小写的
  • 删除所有重音符号
  • 删除所有标点符号和不可搜索的字符
  • 删除所有重复的单词
  • 所有单词从长到短排序
  • 其他我不太了解的转换(与组合词相关)

例如“我喜欢神奇宝贝,尤其是皮卡丘!”变成“特别像我这样的口袋妖怪皮卡丘”。

是否有任何(即使是非常小的)性能优势?数据库中的数据永远不会动态变化。

最佳答案

对于您的特定应用程序可能有功能优势,但重复存储数据在很大程度上会影响性能 - 而不是优势。

由于你的数据现在是两倍大,假设数据集足够大,不同级别的缓存(例如 MySQL、操作系统)中只能保存一半的数据,所以你将从磁盘读取很多更多,这是正常的瓶颈。

话虽如此,如果您在 ft 索引列上使用单字节字符集,但在原始文本上使用多字节字符集,则您的全文索引可能比其他方式小得多。

关于sql - 创建针对 FULLTEXT 搜索优化的第二列有什么意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3469136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com