处理MySQL表中的大数据搜索

时间:2011-06-27 17:52:49

标签: c# mysql

我正在使用MySQL数据库处理C#Windows表单。

我必须搜索表格中的大数据,这需要花费大约5-10分钟来提供答案。(我在MySql查询工具上运行查询需要相同的时间)< / p>

是否有任何搜索技术可以让我的搜索速度更快?目前,我使用带有select子句的简单where语句。 Idictionaryhashtable等可以用它来实现吗?

2 个答案:

答案 0 :(得分:2)

您是否尝试在where子句中为要搜索的列添加索引?

您是在搜索100k记录,还是您的设置返回100k记录。在现代计算中,100k记录是一桶水。正确索引列可以极大地加速此过程。

如果您的集合返回100k记录,则会进一步过滤,即使它只返回前10条记录(确保订购结果)。将所有这些放在您的SQL查询中,让MySql为您完成所有繁重的任务。一般来说,用户不需要一次看到100k记录。

要进一步回答您的问题,应将结果填充到CLR对象和添加到某种集合中的对象。见System.Collections.Generic.List。一旦他们进入这样的对象,处理来自C#的数据应该是微不足道的。

希望这有帮助。

答案 1 :(得分:-2)

如果你有能力把它放在记忆中,是的。根据您的搜索选项,您可以应用算法来缓存最近搜索过的项目。

如果缓存不是一个选项,您应该考虑正确索引数据库表。

校正: 无论缓存是否是一种选择,您都应首先使用正确的索引和统计信息进行优化。