• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

求关于mysql InnoDB引擎 模糊查询的解决思路解决思路

mysql 搞代码 7年前 (2018-05-31) 230次浏览 已收录 0个评论

求关于mysql InnoDB引擎 模糊查询的解决思路
mysql
ENGINE=InnoDB
数据量可能会达到百万级
如果有模糊查询的需求,一般怎样解决?
建立一般索引肯定是没有作用的
这个问题困扰我很久了,把这个字段提取出来另开一个表?好像也没啥效果
给出好的思路另开贴加分

——解决方案——————–
你好像是要一个full text索引,查查这方面的资料就行了。
——解决方案——————–
innodb, 则没有办法,目前只有myisam 支持全文索引。

你的模糊查询需要具体是什么样的? 只有分析你的具体需求才能去设计是否有新方案以提高效率。
——解决方案——————–
举例说明你的要求
——解决方案——————–
如果没有更多的信息,则没有什么更好的办法了。 like ‘%xxx%’ 这种无索引可以利用。 除非你的应用有些什么特点,或者可以从表的设计上来找出方法。可惜你无法给出关于应用方面的介绍。所以泛泛谈, like ‘%xxx%’ 无提高的方案。
——解决方案——————–
如果商品是管理人员添加,可以考虑增加category或者tag表,部分替代模糊查询的作用。如果客户选择了“查看全部”,再进行模糊查询
——解决方案——————–
那就更改表结构成myisam的然后建立全文索引
——解决方案——————–
有两个办法解决:
一是放弃这个想法;
二是投入资金建立一个综合的全文检索系统。
百万级数据用MySQL做全文检索基本上已经是上限,比较可靠的是在八十万左右,当然还有硬件因素;可以采用集成方法来做,比如MySQL+Lucene、MySQL+Sphinx等。这些工作都不轻松,如果能基本做成,就可以直接来我们这儿上班!
——解决方案——————–

探讨

根据物品名称(最长8个汉字utf8编码)查物品表,要求查出所有名字中有用户输入的查询条件
比如 用户查询“裤子”
那么 以下数据都应该被查询出来:
1. 小明的裤子
2. 裤子很漂亮
3. 好漂漂的裤子啊

——解决方案——————–
再想想,当然是还有办法的!呵呵
——解决方案——————–
另外建个表,采用MYISAM,建full text,专门用来针对这个模糊查询,采用id对应。
或者改Engine


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:求关于mysql InnoDB引擎 模糊查询的解决思路解决思路
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址