首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理MySQL表中大型数据的搜索

问处理MySQL表中大型数据的搜索
EN

Stack Overflow用户
提问于 2011-06-27 17:52:48
回答 2查看 572关注 0票数 0

我正在处理一个带有C#数据库的MySQL Windows窗体。

我必须搜索表中的一个大数据,这需要5到10分钟才能提供答案。(当我在MySql查询工具上运行查询时,也需要同样的时间)。

有什么搜索技术可以使我的搜索更快吗?目前,我使用的是带有select子句的简单where语句。Idictionary、hashtable等可以用它实现吗?

EN

回答 2

Stack Overflow用户

发布于 2011-06-27 18:00:52

您试过在where子句中搜索的列中添加索引吗?

您是在搜索100 k记录,还是正在返回100 k记录。在现代计算中,100 k记录是一滴水滴。正确地对列进行索引可以大大加快这一过程。

如果您的集合返回100 k记录,则进一步简化筛选,即使只返回前10条记录(确保排序结果)。将所有这些放在SQL查询中,并让MySql为您完成所有繁重的工作。一般来说,用户不需要一次看到100 k记录。

为了进一步回答您的问题,应该将结果填充到CLR对象中,并将其添加到某种类型的集合中。见System.Collections.Generic.List。一旦它们在这样的对象中,处理来自C#的数据应该是非常简单的。

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2011-06-27 17:57:34

如果你能把它记在记忆里,是的。根据搜索选项的不同,可以将算法应用于缓存最近搜索的项。

如果缓存不是一个选项,您应该研究如何正确地索引数据库表。

更正:无论缓存是否是一种选择,您都应该首先使用适当的索引和统计数据进行优化。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6496865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档