我们有一个SQL服务器数据库。要以非编程方式操作数据,我可以通过右键单击表并选择“打开表”来使用SQL Server Management Studio。但是对于非常大的表来说这很慢,并且排序和过滤很麻烦。
通常我们到目前为止所做的是创建一个Access数据库,其中包含指向SQL Server表和视图的链接表。以这种方式打开一个大表的速度要快得多,而且Access具有易于使用的右键单击过滤和排序功能。
但是,自Access 2007以来,在处理大型表时,特别是排序速度非常慢。 Access数据库还可能无意中锁定数据库表,阻止可能需要访问数据的其他进程。首先创建Access数据库,并在将新表添加到SQL Server时更新它也很繁琐。
有没有更好的方法来处理提供Access的可用性而没有缺点的数据?
答案 0 :(得分:2)
Joel Coehoorn的答案当然是正确的,如果数据很关键或者有天真的用户使用数据,那么应该开发一个应用程序前端。话虽这么说,我有一个明智的用户(好吧,我)用户需要进入那里并四处寻找的情况。
不是直接查看表,而是使用MS Access,但使用查询来缩小您在列和行方面所看到的内容。这将提高速度。然后编辑查询属性并确保查询为No Locks。这应该消除任何阻塞行为。您可能希望限制返回的行数,这将再次提高速度。您仍然可以在查看时编辑查询中的数据。
根据您正在查看的内容,在SQL Server中设置数据库视图以在服务器上而不是在客户端上执行某些繁重工作可能也很有用。
答案 1 :(得分:1)
我不知道它对于真正的大型表有多好,但Visual Studio比基本表操作的SQL Management Studio快得多。在服务器资源管理器中打开数据库,右键单击一个表,然后选择“打开”以显示数据,或选择“新查询”进行筛选,排序等。
答案 2 :(得分:1)
我使用Visual Studio做了很多事情,只是为了方便而不必登录服务器并直接在数据库管理器上工作。
但是,您是否尝试过Toad for MS SQL(来自Quest Software)?我一直都在使用Oracle,并且取得了良好的效果(通常比Oracle的工具更好)。
答案 3 :(得分:0)
编辑原始数据是危险的禁忌。更好地确定您发现自己这样做的情况,并将应用程序界面组合在一起作为中介,可以防止您做出破坏外键等愚蠢的事情。
答案 4 :(得分:0)
我不知道大型数据集的性能如何,但是open office有一个数据库程序(Base),它是一个Access克隆,可能就是你想要的。
答案 5 :(得分:0)
您可能想要阅读 Tony Toews's Access Performance FAQ,它提供了一些有关如何提高Access应用程序性能的提示。也许其中一个提示将解决您的A2K7应用程序中的问题。