unknown-column-size

className: org.archguard.linter.rule.sql.rules.UnknownColumnSizeRule

description: 禁止使用 SELECT * 进行查询。建议按需求选择合适的字段列,杜绝直接 SELECT * 读取全部字段,减少网络带宽消耗,有效利用覆盖索引;

severity: BLOCKER

like-start-without-percent

className: org.archguard.linter.rule.sql.rules.LikeStartWithoutPercentRule

description: 使用 like 模糊匹配时,查找字符串中通配符 % 放首位会导致无法使用索引。

severity: INFO

limit-table-name-length

className: org.archguard.linter.rule.sql.rules.create.LimitTableNameLengthRule

description: 表名应该小于 32 个字符

severity: INFO

snake-case-naming

className: org.archguard.linter.rule.sql.rules.create.SnakeCaseNamingRule

description: 表名应该使用 _ 来命名。

severity: INFO

insert-without-field

className: org.archguard.linter.rule.sql.rules.insert.InsertWithoutField

description: INSERT 应该包含字段键名。

severity: BLOCKER

suggest: 正确示例:INSERT INTO system (name) VALUES ('archguard');

limit-joins

className: org.archguard.linter.rule.sql.rules.expression.LimitJoinsRule

description: 建议 JOIN 的表不要超过 5 个,JOIN 多表查询比较耗时时间,关联的表越多越耗时间,防止执行超时或死锁。

severity: BLOCKER

at-least-one-primary-key

className: org.archguard.linter.rule.sql.rules.create.AtLeastOnePrimaryKeyRule

description: 至少包含一个 Primary Key。

severity: WARN

limit-column-size

className: org.archguard.linter.rule.sql.rules.create.LimitColumnSizeRule

description: 表的字段应该控制在 20 以内。

severity: INFO