提高在大数据库内搜索的性能

时间:2014-09-23 11:57:31

标签: mysql database string performance visual-studio-2012

我在MySQL 5.0中有一个表db_details,列Description,表中有1,00,000行。我想要一种最佳方法来搜索一个键,并以不同的组合得到结果。

例如:

让描述的4个条目[实际上是它的100000]列如下:

  • 说明1:我希望看到朋友
  • 说明2:我的朋友有一个红色和黄色
  • 说明3:此黄色属于我的朋友
  • 描述4:他是一名医生

我想将这些与键:笔盒朋友进行比较,并且应该按顺序获得结果:首先说明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应用程序时缓存整个数据库?

有没有不同的方法或逻辑可做..?请帮帮我..

0 个答案:

没有答案
相关问题