上一主题: 编写不当的 SQL 语句如何导致度量标准爆发下一主题: 示例:临时表或自动生成的表名称


示例:SQL 语句中的注释

度量标准爆发的一个常见原因是在 SQL 语句中使用注释的方法有误。 例如,如果您的 SQL 语句如下:

"/* John Doe, user ID=?, txn=? */ select * from table..."

SQL 代理将创建度量标准名称中包含注释的度量标准:

"/* John Doe, user ID=?, txn=? */ select * from table..."

SQL 语句中嵌入的注释对于数据库管理员查看由谁执行何种查询、哪个执行查询的数据库忽略查询非常有用。 然而,SQL 代理在捕获 SQL 语句时无法解析注释字符串。 因此,对于每个唯一的用户 ID,SQL 代理会创建唯一的度量标准,这可能导致度量标准爆发。

可以通过将 SQL 注释放在单引号中来避免此问题。 例如:

"/*' John Doe, user ID=?, txn=? '*/ select * from table..."

然后,SQL 代理将创建以下度量标准,其中注释不再产生唯一的度量标准名称:

"/* ? */ select * from table..."