开发中关于数据库处理的一些想法

在这里插入图片描述

本篇主要是想给大家分享一下,数据库开发在实际开发如何处理的想法或者建议

不要用存储过程

原因一:存储过程不方便调试

不管是使用mysql,sqlserver,oracel,调试存储过程对开发人员,都将一种负担。要求稍高一些。
在这个动不动就要求全栈的时代,是不是尽可能减少开发人员的负担呢
开发人员还需要学习sql,成为dba吗?

原因二:不方便代码阅读和维护

在新人了解业务逻辑时,顺着代码走到最关键的逻辑处时,发现一个存储过程名称没有了,然后想了解具体的业务处理,还需要登录数据库,查看存储过程。
这就不方便了

原因三:存储过程处理复杂业务地麻烦,代价大,不如代码灵活

当需要循环处理时,存储过程中得使用游标,或者需要拆分,转换等等,在代码中可以轻松解决的,在存储过程中处理就比较复杂,
当然是可以解决的,但是成本太高了,使得存储过程难以维护。
特别是需要拼SQL语句时,这样的存储过程,维护起来太难了。
同时,由于一些开发人员在存储过程不写注释,不格式化,造成存储过程就像是一个麻花一样,更不难搞了。

所以,强烈不建议使用存储过程。
在代码中处理数据库,除了可以解决以上问题,也有利于数据库跟踪。
使用存储过程开发时,数据库跟踪也只能跟踪到一个执行存储过程的语句。

多多使用ORM

最好在开发时,将数据库的创建和表结构维护全交给ORM来搞定,代码中包含数据库和业务逻辑。
所有的开发人员,只需要维护代码就可以。

定时任务用代码实现,不要用数据库定时任务

用定时任务一般就要用到存储过程。以上问题就有可能发生。
使用数据库定时任务,不方便版本管理。
我们现在的代码都有版本管理功能,回滚或者找回都很方便。
我写下今天的文章就是发现,我之前系统后一个定时任务,其中一个步骤的SQL语句丢失了,找不到了。
由于系统比较老旧,已没有测试环境。所以丢失的脚本无法找回。如果使用代码的话,在代码库里肯定是有的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大鹏展翅888

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值