想请问关于查询功能,必须使用模糊比对取资料效能建议 !
想请教关于查询功能,必须使用模糊比对取资料效能建议 !?
再作一个简单的新专案
其实就一个公告栏平台
使用者希望平台首页可以
关键字查询:输入两个字可以对 → 标题、内文 进行模糊查询。
我建议一定要加一个日期区间
原因
1. 这样才会走DB 的 index
2. 缩小资料量
我想请教的是第一层日期滤掉了大部份资料,之后的第二层
到底是要
1. 直接在DB的
Where 日期 Between 起 and 讫
and (标题 Like %字串% OR 内容 Like %字串% )
2. 不要在DB做
and (标题 Like %字串% OR 内容 Like %字串% )
整包拉到List<T> 后再去过滤
想问有经验的大神们建议哪个做法比较好呢 ?
------解决思路----------------------
数据库里的索引是干嘛的,就是为了提高筛选数据效率的
而你的应用程序不会比数据库更智能
所以在大数据筛选的时候,首选数据库筛选,需要避免访问数据库的时候才做内存筛选
而你要把数据库里的大数据全部通信到应用服务器中在做内存筛选,这完全是坑爹的做法
------解决思路----------------------
楼上两位爷,不懂别乱说,Oracle里后配才走索引,前配如果没有全文索引只走全表,另外像内容这类内容较大的字段根本不适合建表字段的非聚合索引,要建也建全文索引的
------解决思路----------------------
大量数据读取到内存再来过滤,确实是“坑爹的”。
这个查询是全文检索,只有建立了相应的“分词、索引”之后才能检索。
把全文检索的需求说成是“模糊查询sql语句”问题,其实也是“坑爹”的(这个想法在小公司的刚工作2、3年的程序员中很普遍),会出大麻烦。这确实可以从“用不上索引”来考虑。
再作一个简单的新专案
其实就一个公告栏平台
使用者希望平台首页可以
关键字查询:输入两个字可以对 → 标题、内文 进行模糊查询。
我建议一定要加一个日期区间
原因
1. 这样才会走DB 的 index
2. 缩小资料量
我想请教的是第一层日期滤掉了大部份资料,之后的第二层
到底是要
1. 直接在DB的
Where 日期 Between 起 and 讫
and (标题 Like %字串% OR 内容 Like %字串% )
2. 不要在DB做
and (标题 Like %字串% OR 内容 Like %字串% )
整包拉到List<T> 后再去过滤
想问有经验的大神们建议哪个做法比较好呢 ?
------解决思路----------------------
数据库里的索引是干嘛的,就是为了提高筛选数据效率的
而你的应用程序不会比数据库更智能
所以在大数据筛选的时候,首选数据库筛选,需要避免访问数据库的时候才做内存筛选
而你要把数据库里的大数据全部通信到应用服务器中在做内存筛选,这完全是坑爹的做法
------解决思路----------------------
楼上两位爷,不懂别乱说,Oracle里后配才走索引,前配如果没有全文索引只走全表,另外像内容这类内容较大的字段根本不适合建表字段的非聚合索引,要建也建全文索引的
------解决思路----------------------
大量数据读取到内存再来过滤,确实是“坑爹的”。
这个查询是全文检索,只有建立了相应的“分词、索引”之后才能检索。
把全文检索的需求说成是“模糊查询sql语句”问题,其实也是“坑爹”的(这个想法在小公司的刚工作2、3年的程序员中很普遍),会出大麻烦。这确实可以从“用不上索引”来考虑。