我有一个Access数据库,其中有一个包含大约6k记录的表。当我尝试使用数据集方法在C#中打开它时,打开大约需要2分钟。为什么会发生这种情况以及如何加快速度?
MyDataSet _dataSet = new MyDataSet();
MyDataTableAdapter _myDataTableAdapter = new MyDataTableAdapter();
_myDataTableAdapter.GetData();
最后一行需要很长时间(大约2分钟)来获取数据。
我使用VS工具创建了一个强类型数据集(参见这里:http://msdn.microsoft.com/en-us/library/04y282hb(v=vs.80).aspx)。
然后我使用上面的代码从数据库中检索数据。我知道Access非常慢但是对于6K记录,它应该花费这么长的时间。
数据库是本地的,位于应用程序旁边。
答案 0 :(得分:1)
问题解决了:感谢Tim的评论:“该表包含大量二进制数据”我检查了数据库的大小,它是64MByte!我检查了所有表,并且没有任何大的二进制数据,所以应该有一些其他原因使数据库如此之大,所以我尝试压缩它,现在它的大小是6Mbyte(合理!)并且代码立即返回数据。