数据管理DMS的SQL审核功能,支持对上传的SQL语句进行审核并提供优化建议,避免无索引或不规范的SQL语句,降低SQL注入风险。
前提条件
- RDS MySQL、PolarDB MySQL引擎、AnalyticDB MySQL版、其他来源MySQL。
- RDS MariaDB
- PolarDB-X(原DRDS)
- Oracle
- PolarDB O引擎
- OceanBase
背景信息
项目研发过程中,需要通过数据库的增、删、改、查等SQL操作来完成业务逻辑的处理及页面数据的展现。而在项目正式发布到线上之前,需要对涉及的SQL进行全面的审核,避免不符合数据库开发规范的SQL发布到线上影响生产服务。例如如下建表语句未增加主键、未添加表格备注且未对字段增加备注信息:
CREATE TABLE `test_sql_review_table` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`gmt_create` datetime NOT NULL,
`name` varchar(256) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
若所有SQL都由DBA逐一进行人工审核,人力资源消耗过大,也容易降低研发效率。
现DMS推出的SQL审核功能将结合安全规则的SQL审核优化建议,对SQL进行审核并提供优化建议,您可以在安全规则中自定义SQL规范,例如表要有主键、限制主键列类型及限制主键包含列的个数等,更多信息,请参见配置SQL审核优化建议。