java查看sql视图_SQL视图与MS Access查询
使用传递查询(PT)或视图意味着在两种情况下SQL都是服务器端 . 因此,使用PT查询,视图和从Access调用存储过程之间的性能差异并不大 .
PT查询的主要缺点是它们是只读的 . 因此VBA代码和表单无法根据PT查询更新内容 .
但是视图是可更新的,性能是相同的 .
如果表单直接通过表链接绑定到sql server上的表(例如100万行),那么这样的设置就好了如果您在启动该表单时始终使用标准VBA where子句打开表单 .
因为访问表单基于一个表(和一个要编辑的记录),所以在这种情况下,通过使用PT查询,视图,存储过程或只是标准链接表到sql server,你获得零性能(没有性能优势) .
但是在你的问题中,你提到了带有多个表/连接等的“复杂”sql .
在这种情况下,PT查询适用于报告,并且可能某种形式“显示”用于搜索的数据等 . 然而,用于编辑的表格必须是视图或链接表 . 所述的PT查询是只读的 .
由于99%的表单都基于一个表,然后继续使用链接表到sql server将执行得很好(只需记住上面的规则,总是将这些表单打开到一个记录) .
因此,PT查询和视图实际上是相同的 - 它们都运行服务器端 . 唯一真正的区别是你不能存储PT查询服务器端,但你可以查看 . 因此,“视图”实际上非常类似于访问中的本地保存查询 - 与PT =只读相比,它是读/写 .
因此,对于报告,您可以轻松设置pt查询,但对于参数和过滤,您会发现视图是更好的选择 . (因为如果您有该报告的现有VBA过滤器代码 - 它可以保持不变,并且只有满足过滤器的记录(where子句 - 而不是实际的报告过滤器)才会被遵守 .
请注意,如果表单或报表基于一个表(链接表),则Access的工作相当不错 . 在这种情况下,Access仅会在您打开报表或表单时提取符合您提供的“where”子句的记录 .
这意味着对于基于Access中的复杂查询的报表,您将查询转换为sql server侧视图,现在将报表链接到该视图以代替查询 . 这很好,因为如前所述,您的过滤器将像以前一样工作,并且您不会经历设置PT查询的所有麻烦,这往往比创建该视图更麻烦 .
因此,PT查询不比视图更好也更快,但视图有几个优点 . 它往往意味着Access客户端没有代码更改,并且如上所述,视图是读/写而不是PT查询是只读的 .
所以PT和视图都运行服务器端,但为了便于开发和访问端代码的最少更改,那么视图往往是一个更好的选择,此外,如上所述,PT查询不是存储在服务器端,但肯定将PT查询发送到服务器时运行服务器端 .
总结
以上是生活随笔为你收集整理的java查看sql视图_SQL视图与MS Access查询的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: java 组件 未显示出来_java –
- 下一篇: java分批查询oracle数据库_数据