2010-10-04 78 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條款。