我正在专用服务器上设计PostgreSQL中的数据库。我希望经常运行某些复杂的查询,并且可以使用ODBC / JDBC客户端(如MS-Access或报告软件)访问结果。
在我看来,我可以选择在PostgreSQL中定义VIEW并使用ODBC导入它,或者在ODBC客户端中定义查询并导入基础表。
哪个最好? 我还缺少其他选择吗?
答案 0 :(得分:1)
我不确定你的意思是“导入”。视图本质上是一个预定义的查询,您可以从表中选择数据。当您执行SELECT查询时,无论是直接访问数据表还是通过视图访问数据表,只会将查询结果发回给您。
如果您必须从各种不同的客户端执行相同的查询,那么为该查询定义一个视图可能是个好主意。
分享并享受。
答案 1 :(得分:1)
您说您有复杂的查询,这些查询会创建您希望用于报告目的的输出。
汇总,聚合等以与您描述的方式完全相同的方式执行并存储在数据仓库中。
如果这是你想要的,你应该考虑使用一个存储查询输出的表。使用调度程序在适当的时间运行ComplexQuery并将输出存储在表中。
您必须决定为什么要这样做。查询的复杂性不是要求数据库服务器运行查询的资源量的一个因素。如果它足够小并且不会对性能产生负面影响,并且您需要实时获取数据,请使用View。如果您可以使用定期刷新的数据,这可以快速获得并且不会对服务器造成很大负担,那么请使用聚合表。