> 데이터 베이스 > MySQL 튜토리얼 > 关于数据筛选的不打不小的问题

关于数据筛选的不打不小的问题

WBOY
풀어 주다: 2016-06-07 15:56:19
원래의
1383명이 탐색했습니다.

问题如下: 假设这样一种情况,首先说明,信息是存放在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
另外,大家还可以采用全文检索的方式来提高检索速度


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿