SQL反模式

章节主题反模式解决办法
2. 乱穿马路单元格逗号分隔列表一对多那拆表
3. 单纯的树层级关系parent_id路径枚举
4. 需要ID主键伪主键ID拥抱自然键和组合键
5. 不同钥匙的入口外键不用外键声明外键约束
6. 实体-属性-值可变属性使用泛型属性表单表、实体表、类表继承、半结构化数据模型
7. 多态关联引用多个父表使用双用途外键创建两个交叉表
8. 多列属性多值属性创建多个列一对多那拆表
9. 元数据分裂分表克隆表与列使用水平分区、垂直分表
10. 取整错误FLOAT使用FLOAT使用NUMERIC类型
11. 每日新花样ENUM使用ENUM创建一张表装ENUM的值
12. 幽灵文件BLOB将文件存入文件系统使用BLOB类型
13. 乱用索引索引无规划的使用索引测量、解释、挑选、测试、优化、重建表或者索引
14. 对未知的恐惧NULL将NULL作为普通值将NULL视为特殊值
15. 模棱两可的分组GROUPBY引用非分组列无歧义地使用列
16. 随机选择ORDERBY随机排序避免排序,直接随机数,再查一行
17. 可怜人的搜索引擎LIKE/REGEX模式匹配断言使用数据库扩展或第三方搜索引擎
18. 意大利面条式查询复杂查询一个SQL解决复杂问题将一个复杂的SQL拆分成多个简单的SQL
19. 隐式的列*不指定明确的列查询、写入指定明确的列
20. 明文密码使用明文存密码先哈希,再储存
21. SQL注入未经验证的输入作为代码执行不要信任任何用户输入
22. 伪键洁癖整理伪键不用修改整理伪键
23. 非礼勿视不防范错误异常增加错误处理代码
24. 外交豁免权将SQL视为二等公民为SQL增加文档、ER图、版本控制
25. 魔豆将数据库代码SQL直接写入逻辑代码将数据访问代码和业务逻辑代码进行分层
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值