我在MySQL 5.0中有一个表db_details
,列Description
,表中有1,00,000行。我想要一种最佳方法来搜索一个键,并以不同的组合得到结果。
例如:
让描述的4个条目[实际上是它的100000]列如下:
我想将这些与键:笔盒朋友进行比较,并且应该按顺序获得结果:首先说明2 ,然后说明3 然后描述1 [因为描述2有最大命中,然后描述3等等]
请帮帮我。我想知道它应该怎么做。因为它是一个巨大的数据库,我希望无论是否通过使用页面偏移都能得到这个。
我正在使用Visual Studio 2012。
目前我将整个数据库表读入Linq并对其进行查询。查询如下:
var searchTerms = Comparate.Split(' ');
var results = inputs
.GroupBy(sentence => sentence.Split(' '))
.Where(grouping => searchTerms.Intersect(grouping.Key).Any())
.OrderByDescending(grouping => grouping.Key.Count())
.SelectMany(grouping => grouping);
这种方法耗费了大量时间并导致一些延迟。
有没有办法在启动Web应用程序时缓存整个数据库?
有没有不同的方法或逻辑可做..?请帮帮我..