sql-server - 以非编程方式处理 SQL Server 数据的最佳方式是什么?

标签 sql-server ms-access ssms

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

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

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

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

最佳答案

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

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

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

关于sql-server - 以非编程方式处理 SQL Server 数据的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40344/

相关文章:

sql-server - 引用 StartDate 和 EndDate 等输入参数的数据透视表

javascript - 基于另一个下拉菜单选择的过滤下拉菜单

ms-access - 从另一个 MDB 调用一个 MDB 中的函数

sql - 将值从文本框传递到 SQL 查询中的 "TOP n"子句

sql-server - 多列的唯一约束

sql-server - 由于加密消息,无法将存储过程添加到数据库

sql-server - SSMS 批量插入 = 错误 + 是哪一行?

c# - GetSchema 方法可以异步工作吗?

sql - 如何找出 SQL Server 中引用表的 FOREIGN KEY 约束?

sql-server - sql server 有简单的前端吗?