关于数据筛选的不打不小的问题
程序员文章站
2022-04-15 07:54:26
...
问题如下: 假设这样一种情况,首先说明,信息是存放在mysql数据库中的。情况如下,A表信息堆是百万级信息堆(每条信息长度不长,基本在20字符以内,属于简短词语),B则是一条普通信息(长度大概在500字符左右),问,有哪种最有效的方式可以来判断B信息中
问题如下:
假设这样一种情况,首先说明,信息是存放在mysql数据库中的。情况如下,A表信息堆是百万级信息堆(每条信息长度不长,基本在20字符以内,属于简短词语),B则是一条普通信息(长度大概在500字符左右),问,有哪种最有效的方式可以来判断B信息中是否包含有A堆中的信息并返回包含的信息?在此提供一种解法,如果大家有更好的解法欢迎大家留言交流!
由于A信息堆数据量比较大并存放于数据库中,故产生一个很简单的解法,直接通过一条sql解决,当然,这样会衍生一个问题就是sql优化,如何减少搜索时间就要看你自己的优化手段啦。 查询sql如下: select GROUP_CONCAT(匹配表字段) content from 表名 where instr(B表信息,匹配表字段)>0
另外,大家还可以采用全文检索的方式来提高检索速度
推荐阅读
-
关于MyBatis 查询数据时属性中多对一的问题(多条数据对应一条数据)
-
关于windows下安装mysql数据库出现中文乱码的问题
-
关于缓存穿透,缓存击穿,缓存雪崩,热点数据失效问题的解决方案(转)
-
关于ORACLE通过file_id与block_id定位数据库对象遇到的问题引发的思考
-
关于oracle数据库误删表空间文件后无法登陆sqlplus问题的解决方法
-
关于.net环境下跨进程、高频率读写数据的问题
-
关于页面js输出数组数据时出现‘,’的问题
-
关于小程序swiper组件中只有一条数据时的渲染问题
-
关于采用GPS数据解析后发布到robot_pose_ekf时报错的问题Covariance specified for measurement on topic gps is zero
-
关于Fragment的点击切换数据滞留问题