乐趣区

关于sql:SQL审核-这里有-MySQLOracle-最常用的-SQL-开发规则

本文起源:原创投稿

* 爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。


SQL 审核工具 SQLE 企业版近期推出了 Oracle 审核插件的第一个测试预览版。咱们采集了过往咱们在客户那碰到的问题和行业专家的倡议,整顿了一大批 Oracle 审核规定。这个版本咱们从中筛选呈现频次最高的以及影响范畴最大一批规定退出到了 Oracle 审核插件中,这些规定能笼罩大多数客户的大多数场景,却又不会对客户应用产生额定的累赘。在后续的工夫内,咱们将推出的 Oracle 审核插件逐步完善规定的拼图。接下来的内容将对高频规定给出咱们的了解。插件的自身开发之前曾经做过介绍,开发文档参考:https://actiontech.github.io/…。

文章次要分为以下四局部内容:

一、SQLE 我的项目介绍

二、规定介绍

三、规定列表

四、后续打算

一、SQLE 我的项目介绍

爱可生开源社区的 SQLE 是一款面向数据库使用者和管理者,反对多场景审核,反对标准化上线流程,原生反对 MySQL 审核且数据库类型可扩大的 SQL 审核工具。

SQLE 获取

| 类型 | 地址 |
| — | — |
| 版本库 | https://github.com/actiontech… |
| 文档 | https://actiontech.github.io/… | 9000 |
| 公布信息 | https://github.com/actiontech… |
| 数据审核插件开发文档 | https://actiontech.github.io/… |
| 社区版在线体验 | http://124.70.158.246:8888/ <br/> 超级管理员:admin,明码:admin。|
| 企业版在线体验 |http://124.70.158.246:8889/ <br/> 用户:admin,明码:admin。|| 类型 | 地址 |

二、规定介绍

SQLE 依据规定的应用场景,将现有的规定分为以下几个类别:

  1. DDL 标准类

该类规定次要是对表定义做了不同个维度包含字段,索引的各方面属性等方面进行限度,规定值能够依据本人业务场景进行配置,满足绝大部分表设计的标准。

  1. 查问类的标准

该类规定次要是反对一些常见可能会影响性能的语句,具体可依据本人的标准选择性开启敞开。

  1. 应用倡议类的规定

该类规定波及一些公司的数据库应用红线,禁止应用来或防止一些潜在的应用上或者保护上的危险。

  1. 命名标准

该类规定次要针对一些表名、字段名、索引名格局进行限度,次要作用还是作为对立命名规范进步可读性。

  1. 执行打算类

该类规定次要是在审核 SQL 时借助执行打算输入,解读执行打算特色,对于特定的影响性能的 SQL 给予用户提醒。

三、规定列表

  1. 表倡议应用主键;
  2. 表不倡议应用外键;
  3. 索引个数倡议不超过阈值;
  4. 表字段过多;
  5. 复合索引的列数量不倡议超过阈值;
  6. 表不倡议应用指定的字段类型;
  7. 表名、列名、索引名的长度不能大于指定字节;
  8. 数据库对象命名禁止应用关键字。
  9. 不倡议应用 select *;
  10. delete 和 update 语句,必须带 where 条件;
  11. 防止应用 having 子句;
  12. 不举荐应用子查问。
  13. 禁止除索引外的 drop 操作;
  14. 禁止应用视图;
  15. 禁止应用触发器;
  16. 单条 SQL 不倡议过长。
  17. unique 索引必须应用固定前缀;
  18. 一般索引必须应用固定前缀。
  19. 表关联存在笛卡尔积;
  20. 表关联嵌套循环档次过多;
  21. 表关联个数过多;
  22. 对大表进行全表扫描;
  23. 存在索引执行跳跃扫描;
  24. 对大索引执行全扫描。





四、后续打算

  • Oracle 审核插件将进行第二个预览版的开发,继续增加规定;
  • PostgreSQL 插件的开发正在进行中;
  • TiDB 插件的开发将在 6 月份开始。
退出移动版