sql - 数据库查询应该放在哪里?

标签 sql database stored-procedures

查询应该存在于需要数据的类中吗?查询是否应该存在于数据库的存储过程中以便它们可以重用?

在第一种情况下,更改查询不会影响其他人(其他代码或生成报告的人等)。在第二种情况下,查询可由许多人重复使用,并且只存在于一个地方,但如果有人破坏了它们,那么它们对所有人来说都是破坏性的。

最佳答案

我曾经非常喜欢存储过程解决方案,但在去年改变了我的看法,因为数据库变得更快并且 ORM 已进入主流。存储过程肯定有一席之地。但是当谈到简单的 CRUD sql 时:一个线性插入/更新/选择/删除,在我看来使用 ORM 来处理这是最优雅的解决方案,但我相信很多人会争论另一种方式。 ORM 将从您的代码中移除 SQL 和 DB 连接构建管道,并使持久性逻辑更流畅地与您的应用程序集成。

关于sql - 数据库查询应该放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1506931/

相关文章:

MySQL:选择逗号分隔列表的第一个元素

php - 从数据库中多次搜索

mysql st 程序 if elseif 错误

mysql - 更改 MySQL 存储过程 'Database Collation' 名称

sql - “CREATE TABLE”生成运行时错误 '3290'

sql - ORA-30089 执行带有 DATE 类型字段的 CREATE TABLE 时

mysql - 使用 REPLACE 和 SUBSTRING_INDEX 在 MySQL 中拆分字符串

sql - 返回所有值,包括 NULL

ruby-on-rails - 数据库/模型夹具和原始状态

与下次运行相比,sql 查询需要很长时间