失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql替代like模糊查询的最佳方法?求赐教!

mysql替代like模糊查询的最佳方法?求赐教!

时间:2022-07-17 00:20:59

相关推荐

mysql替代like模糊查询的最佳方法?求赐教!

后端开发|php教程

mysql替代like模糊查询的最佳方法?????求赐教!!!!

后端开发-php教程

MySQL 模糊查询 最佳 索引

阿狸表白网页源码,vue打印日志vscode,ubuntu boot 满,tomcat怎么进网页,爬虫控件Rstudio,php 过滤html代码,云南抖音seo优化厂家,网站资源批量下载器,phpcms模板导入lzw

最近做一个项目,商品分类的属性,有30多个属性值,编辑的时候,是把所选属性的int值整合成一个字符串,写进数据库。。这样前台查询的时候,选择属性,和数据库的属性字符串进行匹配。。。

这应该是mysql常用而且比较恼火的问题,很久之前遇到过,因为相对查询不多,所以没有深入研究,最近这个项目这方面的搜索量非常大。。所以上来求大神赐教。。

网上多数人说用 match against全文索引方法,肯定比like查询快,但这种是不是效率最高的???

java中文分词源码,vscode导入模块,ubuntu粤语,tomcat运行css,sqlite三方库,extjs 图片切换插件,前端框架控件搭建教程外包,爬虫输出csv格式文件,杭州php 培训,seo知识总结分类,美食类网站模板,网页建设软件,dede模板登录判断lzw

回复讨论(解决方案)

人事招聘管理系统 php 源码 简历,解压版的vscode打不开,目录后退ubuntu,查看tomcat状态脚本,著名爬虫店,php培训视频全套,郑州seo优化搜索引擎,dede自定义网站地图lzw

全文检索肯定比like查询快

但 mysql 的全文检索并不支持中文,需要安装第三方软件

你把 所选属性的int值整合成一个字符串 ,那么你是如何能查询的到的?

前台传入的属性选项整合成字符串,然后与数据表里的属性字符串进行匹配。。刚才想了下也不行,如果顺序不对,匹配就会失败。。。

全文检索肯定比like查询快

但 mysql 的全文检索并不支持中文,需要安装第三方软件

你把 所选属性的int值整合成一个字符串 ,那么你是如何能查询的到的?

属性筛选还有什么好的思路呢???

结合 find_in_set 和 substring_index 两个函数就可以了

当然属性串样组织成这样:

属性1,值1,属性2,值2,属性3,值3,属性4,值4,属性5,值5,…..

这2个函数的效率怎么样啊,除了这2个函数,额外还有其他5-8个查询条件。。上万条记录,cpu撑得住吗???

结合 find_in_set 和 substring_index 两个函数就可以了

当然属性串样组织成这样:

属性1,值1,属性2,值2,属性3,值3,属性4,值4,属性5,值5,…..

先不要奢谈效率,结果还没有出来呢,哪来的效率?

你先在 mysql 管理器中执行下面的查询,体会一下函数的用法

select substring_index(substring_index(n,,,find_in_set(属性2, n)),,,-1)from (select 属性1,值1,属性2,值2,属性3,值3,属性4,值4,属性5,值5 as n) t

分表….

其实象这种需求应考虑按位与方式写值,而不应合成字符串写入

1:属性1

2:属性2

4:属性3

8:属性4

……

属性1+属性3=>1+4=5 ,数据库写入整型值5

(5&1)== 1 –>包含属性1

数据库操作也差不多:where (options & 1)=1

其实象这种需求应考虑按位与方式写值,而不应合成字符串写入

1:属性1

2:属性2

4:属性3

8:属性4

……

属性1+属性3=>1+4=5 ,数据库写入整型值5

(5&1)== 1 –>包含属性1

数据库操作也差不多:where (options & 1)=1

不是很明白 能说的再详细点吗

能举个更详细的例子吗??类似排列组合的算法??

其实象这种需求应考虑按位与方式写值,而不应合成字符串写入

1:属性1

2:属性2

4:属性3

8:属性4

……

属性1+属性3=>1+4=5 ,数据库写入整型值5

(5&1)== 1 –>包含属性1

数据库操作也差不多:where (options & 1)=1

这个例子已经够详细了,楼主去多了解整数间的按位与运算,其实也就是二进制数的与运算

如果觉得《mysql替代like模糊查询的最佳方法?求赐教!》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。