将直方图转换为包含有关谓词选择性信息的 Microsoft Excel 图表。
dbhist [ options ] -t table-name [ excel-output-filename ]
选项 | 说明 |
---|---|
@data |
读取来自指定的环境变量或配置文件的选项。请参见使用配置文件。 如果要保护口令或配置文件中的其它信息,可以使用文件隐藏实用程序对配置文件的内容进行模糊处理。请参见文件隐藏实用程序 (dbfhide)。 |
-c options |
指定连接参数。请参见连接参数。 |
-n colname |
指定要与直方图关联的列的名称。如果不指定列,则返回表中有直方图的所有列。 |
-t table-name | 指定要生成图表的表或实例化视图的名称。 |
-u owner | 指定表或实例化视图的所有者。 |
excel-output-name | 指定所生成 Excel 文件的名称。如果未指定名称,则 Excel 提示您在 [另存为] 窗口中输入一个名称。 |
直方图存储在 ISYSCOLSTAT 系统表中,也可以使用 sa_get_histogram 存储过程进行检索。直方图实用程序将直方图转换为 Microsoft Excel 图表,图表包含有谓词选择性的信息。直方图实用程序 (dbhist) 只能在 Windows 上运行,而且必须安装 Excel 97 或更高版本。
表或实例化视图可能不会显示统计信息(包括直方图),例如,对于最近已删除统计信息的情况。此时,直方图实用程序会返回消息 [直方图中没有任何数据,正在中止
]。在这种情况下,必须创建统计信息,然后再次运行直方图实用程序。要为表或实例化视图创建统计信息,需执行 CREATE STATISTICS 语句。请参见CREATE STATISTICS 语句。
要确定关于字符串列的谓词选择性,应该使用 ESTIMATE 或 ESTIMATE_SOURCE 函数。尝试从字符串列中检索直方图会导致 sa_get_histogram 和直方图实用程序产生错误。请参见ESTIMATE 函数 [Miscellaneous]和ESTIMATE_SOURCE 函数 [杂类]。
工作表以列名来命名。列名达到 24 个字符后会被截断,所有出现的 \、/、?、*、[、] 和 :(Excel 中不允许使用这些字符)均被替换为下划线 (_)。图表名以 chart 一词为前缀,后面部分的命名约定与上面相同。重复的名称(因字符替换、截断或名称以 chart 开头的列引起)会引发 Excel 错误,错误消息会提示不能使用重复名称。但电子表格仍会以之前创建版本的名称(Sheet1、Chart1 等等)来创建。
退出代码是零(成功)或非零(失败)。请参见软件组件的退出代码。
您还可以使用 sa_get_histogram 存储过程检索直方图。请参见sa_get_histogram 系统过程。
以下命令(全部在同一行输入)将为数据库 demo.db 的表 SalesOrderItems 中的 ProductID 列生成 Excel 图表,并将其另存为 histogram.xls。
dbhist -c "UID=DBA;PWD=sql;DBF=samples-dir\demo.db" -n ProductID -t SalesOrderItems histogram.xls |
假定示例数据库已经启动,以下语句会为表 SalesOrders 中有直方图的每个列生成图表。此语句会尝试使用 UID=DBA 和 PWD=sql 进行连接。由于未指定输出文件名,因此 Excel 会提示您输入文件名。
dbhist -t SalesOrders -c "UID=DBA;PWD=sql" |
有关 samples-dir 的信息,请参见示例目录。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |