SQL Server不会立即提供表/查询的所有数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server不会立即提供表/查询的所有数据相关的知识,希望对你有一定的参考价值。

我们最近将后端转换为SQL Server(来自Access),并且仍在使用Access前端。

我注意到一些表格或表单不会显示导航栏中的记录数,就像我们有Access后端时一样。我研究并发现一篇文章,指出SQL Server不会自动加载链接表或查询的所有记录,直到请求这些特定记录(或类似的东西)。显然Access可以做同样的事情,但是它们有多少记录触发它们保留一些数据的默认设置。

根据数据库标准,我们的数据库非常小。有没有办法让SQL Server始终为我们提供所有数据?我们已经使用视图并通过查询来最小化它需要通过网络发送的数据量。我没有看到我们从SQL Server中获得很多性能,因为它们为我们提供这种数据是“聪明的”。我们的用户宁愿等待一秒钟来获取数据,然后能够更快地在前端导航他们的表单,如果这是有道理的。查看记录数量会很有帮助。

供参考:我们使用(我希望我的术语正确;我是新手),DAO连接的连接字符串如下所示。我可以添加到连接字符串中以影响此行为吗?或者我们数据库中的一些设置?

' Define connection string
qdf.Connect = "ODBC;Driver=" & myDriver & ";" & _
              "server=" & myServer & ";" & _
              "database=" & mysqlDB & ";" & _
              "uid=" & myuid & ";" & _
              "Pwd=" & mypwd & ";"
答案

如果要在加载表单时初始化整个记录集,可以执行以下操作:

Private Sub Form_Load()
    Me.RecordSet.MoveLast
    Me.RecordSet.MoveFirst
End Sub

以上是关于SQL Server不会立即提供表/查询的所有数据的主要内容,如果未能解决你的问题,请参考以下文章

Sql server 创建索引后,只有查询后重建才会生效,不知为啥?

使用SQL Server和Mysql查询所有数据库名表名和字段名

sql server 怎样用SQL语句查询一个数据库中的所有表?

Query Sql Server 能够删除表的最后一行

Sql Server中查询数据库所有表及其数据总条数和占用空间

sql语句大全(db2oraclemysqlsql server)