2010-10-04 126 views
3

我正在使用c#windows窗体应用程序并使用mysql作为后端。我有一个餐桌员工。因为我有更多的2000行,它只是一个可能更多记录的例子。当我从数据库中检索并过滤数据时,我的应用程序变得越来越慢。有没有另一种方式来以良好的速度检索数据库?我可以通过使用Linq来达到速度吗?如何加速从Mysql数据库中检索数据

回答

1

只要确保使用WHERE在数据库中执行过滤(如果您使用SQL进行数据访问)。

如果您使用的是linq或不是很重要,只要在数据库中执行的SQL很好(使用WHERE和索引进行适当的筛选)即可。

0

你现在如何检索数据?你在使用ado.net吗?但是使用ado.net存储过程是我猜测的最快的方式,你确定数据检索是最慢的,2000年的记录不是那么大的表,所以我猜你的UI组件工作速度较慢?

+0

存储在MySQL中的特效比直接查询更快吗?在MSSQL中,它并不是一个给定的(http://bloggingabout.net/blogs/adelkhalil/archive/2008/01/06/the-myth-of-stored-procedures-preference.aspx)。 – 2010-10-04 07:35:48

+0

嗯...有趣的文章迈克尔,我认为SP是快,因为它是预编译的,但文章说,这不是...... – 2010-10-04 07:41:06

0

2000条记录是一个相对较小的表。每排的大小是多少?

从这样一个小表中检索/过滤应该在数据库级别上非常快。

  • 查看查询的查询计划并基于此优化查询。

  • 特别是检查你的索引,看看它们是如何在你的查询中使用任何对它们进行优化使用,如果你需要添加/更改。

如果您发布查询及其执行计划,人们或许可以指出一些细节,以你如何能够改善它!

+0

也加入DB结构和可能的指标! – 2010-10-04 07:37:22

0

您可以通过使用延迟加载得到加速(有在互联网上几个教程),或只选择那些您所感兴趣的。

0

添加索引你的领域参与JOINSWHERE条款。