我们有一个 SQL Server 数据库。要以非编程方式操作数据,我可以通过右键单击表并选择“打开表”来使用 SQL Server Management Studio。然而,对于非常大的表来说,这很慢,并且排序和过滤很麻烦。

通常,到目前为止我们所做的就是创建一个包含指向 SQL Server 表和视图的链接表的 Access 数据库。通过这种方式打开大表要快得多,而且 Access 具有易于使用的右键单击过滤和排序功能。

然而,自 Access 2007 以来,在处理大型表时,排序速度尤其慢。Access 数据库还可能会无意中锁定数据库表,从而阻止可能需要访问数据的其他进程。首先创建 Access 数据库,然后在将新表添加到 SQL Server 时更新它,这也很乏味。

是否有更好的数据处理方法,既能提供 Access 的可用性,又没有其缺点?

有帮助吗?

解决方案

Joel Coehoorn的答案当然是正确的,如果数据很关键或者有天真的用户使用这些数据,那么应该开发一个应用程序前端。话虽如此,在我的情况下,明智的用户(好吧,我)需要进入那里并四处探索。

不要直接查看表格,而是使用 MS Access,但使用查询来缩小按列和按行查看的范围。这样速度就会提高。然后编辑查询属性并确保查询为“无锁”。这应该消除任何阻塞行为。您可能希望限制返回的行数,这将再次提高速度。您仍然可以在查看查询时编辑查询中的数据。

根据您要查看的内容,在 SQL Server 中设置数据库视图以在服务器而不是客户端上执行一些繁重的工作也可能很有用。

其他提示

我不知道它对于非常大的表的处理效果如何,但对于基本表操作,Visual Studio 比 SQL Management Studio 快得多。在服务器资源管理器中打开数据库,右键单击表,然后选择“打开”以仅显示数据或“新查询”以进行过滤、排序等。

我使用 Visual Studio 做了很多事情,只是为了方便,而不必登录服务器并直接在数据库管理器上工作。

但是,您是否尝试过 Toad for MS SQL(来自 Quest Software)?我一直在 Oracle 中使用它,并且取得了很好的效果(通常比 Oracle 的工具更好)。

编辑原始数据是危险的禁忌。最好确定您发现自己这样做的情况,并组合一个应用程序接口来充当中介,以防止您做一些愚蠢的事情,例如破坏外键。

我不知道大型数据集的性能如何,但开放办公室有一个数据库程序(Base),它是 Access 克隆,可能正是您正在寻找的。

您可能想阅读Tony Toews 的访问性能常见问题解答, ,其中提供了有关如何提高 Access 应用程序性能的许多提示。也许这些技巧之一可以解决您的 A2K7 应用程序中的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top