演示地址 http://fander.jios.org:8008/
普通上线账号:guest ,密码:123456
管理员审批账号:admin,密码:123456
感谢好友陈俊聪友情提供云主机。
为了让DBA从日常繁琐的工作中解放出来,通过SQL自助平台,可以让开发自上线,开发提交SQL后就会自动返回优化建议,无需DBA的再次审核,从而提升上线效率,有利于建立数据库开发规范。
借鉴了去哪网Inception的思路并且把美团网SQLAdvisor(索引优化建议)集成在一起,并结合了之前写的《DBA的40条军规》纳入了审核规则里,用PHP实现。目前在我公司内部使用。
SQL自动审核主要完成两方面目的:
1、避免性能太差的SQL进入生产系统,导致整体性能降低。
2、检查开发设计的索引是否合理,是否需要添加索引。
思路其实很简单:
1、获取开发提交的SQL
2、对要执行的SQL做分析,触碰事先定义好的规则来判断这个SQL是否可以自动审核通过,未通过审核的需要人工处理。
下面是首页界面:
使用说明:
1、针对select/insert/update/create/alter加了规则,delete需要审批。
2、语句之间要有空格,例where id = 100,没有空格会影响判断的准确性。
3、SQL语句后面要加分号; MySQL解析器规定分号才可以执行SQL。
4、反引号`会造成上线失败,需要用文本编辑器替换掉。
5、支持多条SQL解析,用一个分号;分割。例如:
insert into t1 values(1,'a');
insert into t1 values(2,'b');
6、JSON格式里的双引号要用反斜杠进行转义,例如:{\"dis_text\":\"nb