我一直在我的应用程序模型中使用内联查询语句......到目前为止,许多人说存储过程将是一个很好的实践......我有以下问题
如何在PHP Codeigniter中使用MySql存储过程?
使用Mysql存储过程有什么优势?
最佳答案
存储过程是一种工具,就像其他任何东西(触发器、 View 等)一样,只能在适合该工具的地方使用。获取您拥有的每条内联 SQL 语句并将其转换为存储过程并不是正确的方向。
存储过程是使用非常粗糙的逻辑编写的,并使用游标循环遍历数据集,当您习惯了 PHP 处理逻辑的能力时,这将是一个障碍。
我参与过的唯一一个使用 SP 的项目是一个大型会计系统,其中数十万条记录必须经常更新,而代码的直接输入很少。我们基本上只是告诉它什么时候开始,不需要将值传递给 SP(尽管这样做是可能的)。然而,这只是我们在系统中使用的数千个内联查询中的一两个。我并不是说这是唯一使用它们的地方,但我已经构建了一些非常大的系统并且还没有“需要”在其他地方使用它们。
在我看来,最好花时间学习编写高速、低阻力的内联查询并使用 EXPLAIN 来验证您是否正确设置了索引。我认为除非您对存储过程有非常具体的需求,否则您会发现它们对于日常使用来说非常不友好。
关于php - 在 PHP 中使用内联查询与存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2183197/