整个开发项目中,数据主要逻辑用代码实现好,还是在sql中实现好?

发布于 2022-08-31 20:22:17 字数 20 浏览 13 评论 0

想听听大伙的看法谢谢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

—━☆沉默づ 2022-09-07 20:22:17

各有利弊,酌情选择

正如 @brzhang 所说,逻辑用代码实现,可最大程度复用,比如你一个订单信息查询功能,以service的形式暴露给其他系统(如CRM),要比以存储过程的形式提供给其他系统来的好,后者还要附带数据库帐户密码,同时多系统操作也会带来数据安全问题;

用代码来实现还有一个好处就是提高代码可读性,可维护性,可扩展性,这个可以自己yy.

如果逻辑相对稳定,复用性不强,可以直接用sql,比如报表查询,在系统中属于很独立的一块,很多人都喜欢结合存储过程和开源的报表工具快速做出复杂报表。

夏九 2022-09-07 20:22:17

逻辑放在SQL中短期确实感觉很快、很爽。


不过随着项目发展,项目就会变的怪怪的,什么事都要用SQL搞,你的开发和维护也变成了增加SQL、修改SQL、优化SQL。增加一个条件?我动态拼一个SQL条件不就搞定了?慢慢的,百行长的SQL就出现了,那些让人看不懂的东西也出现了。那么,Web开发就是拼SQL吗?或者说Web开发就只会用到SQL吗?万一需要Redis,万一你的SQL失灵了呢?

逆光飞翔i 2022-09-07 20:22:17

我之前也遇到这个问题,我认为如果用ORM框架的话能避免这个问题。

温馨耳语 2022-09-07 20:22:17

我一般在model层写一些简单的CURD操作。逻辑我还是放在了controller层,这样子model层可以最大成都的复用。
sql中去实现那些和业务相关的逻辑的话,你的这段sql几乎不存在可复用性。
话有说回来,
逻辑写在sql中,并不是没有好处,可能你将逻辑写在sql中之需要查一次DB搞定,若不在sql中,可能需要controller中调几个model中的方法才能做到,明显造成了一个问题,需要查多次db,取舍还需看具体业务了。

李不 2022-09-07 20:22:17

外键,唯一 等约束也是可以用用的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文