我正在考虑编写一个连接到具有以下功能的 Netezza 框的 .NET 工具的想法: 1. 检查表输入列表的分布/倾斜 2. 检查输入查询的查询计划
我知道可以使用 Aginity Workbench 和/或 NZADmin 做到这一点,但我想知道是否有任何方法可以在代码中做到这一点,以便我可以进行一些自动调整?
我在网上查了答案,但似乎很少有关于如何做到这一点或者是否有可能的信息。
我正在考虑编写一个连接到具有以下功能的 Netezza 框的 .NET 工具的想法: 1. 检查表输入列表的分布/倾斜 2. 检查输入查询的查询计划
我知道可以使用 Aginity Workbench 和/或 NZADmin 做到这一点,但我想知道是否有任何方法可以在代码中做到这一点,以便我可以进行一些自动调整?
我在网上查了答案,但似乎很少有关于如何做到这一点或者是否有可能的信息。
这是可能的,但它可能会涉及相当多的工作。
Aginity 使用 Netezza 的 SQL 风格与 Netezza 进行通信。你可以用同样的方式编写你自己的客户端。
例如,要获取查询的查询计划,请使用“EXPLAIN VERBOSE”
EXPLAIN VERBOSE SELECT * FROM foo;
要获得偏斜,请运行此查询
select count(*) , datasliceid from mytable group by datasliceid order by datasliceid;
等等..
即使 Aginity 或 nzAdmin 使用未记录的功能(使用系统视图来获取硬件状态等),也可以从 .Net 执行相同的操作。您可以尝试通过启用 odbc 跟踪或启用主机登录来跟踪他们的具体操作。
您还可以使用 /nz/support/bin 下的无数脚本作为很好的模板来绘制。