开发者社区> 问答> 正文

sql中字符串匹配问题

先上数据示例
333
这是某多对多关系在基于mysql的数据表中的表现形式(因为上头说应用小用两个表就算了)
并且筛选查询的要求如下表
444
推送条件和期望结果都是以,隔开,实际上是个一维索引数组
推送条件之间是AND关系
目前想到的基于thinkphp的解决方案是:
1.遍历查询结果,将cat_id化为数组
2.判断推送条件(数组形式,可以认为就是表单POST来的一维数组)是不是cat_id数组的子集。
然而问题就在遍历查询结果,这里测试是:结果如果达到6000+条,执行时间需要3~20秒左右,比较慢。
于是问一下,上表这样的筛选要求能不能用sql语句实现,从而省掉遍历的过程?

展开
收起
蛮大人123 2016-02-11 18:18:45 2972 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    个人感觉,应该可以用sql语句实现,可以写几个存储函数,但这样一来,估计工作量上可能比多加个中间表要困难许多,而且速度上估计也快不了,建议还是建个中间表

    2019-07-17 18:40:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载