我在我的应用程序模型中一直使用内联查询语句…截至目前,许多人说存储过程将是一种很好的做法…我有以下问题
>如何在PHP Codeigniter中使用MySql存储过程?
>使用Mysql存储过程的优点是什么?
最佳答案
就像其他任何东西(触发器,视图等)一样,存储过程是一种工具,并且只能在适合该工具的地方使用.取得每个内联SQL语句并将其转换为存储过程不是正确的方向.
存储过程是使用非常粗糙的逻辑编写的,并使用游标遍历数据集,这在您习惯PHP处理逻辑的能力时会成为一个障碍.
我使用SP的唯一项目是大型会计系统,其中数十万条记录必须经常更新,而很少有来自代码的直接输入.我们基本上只是告诉它何时启动,并且不需要将值传递给SP(尽管可以这样做).但是,这只是我们在系统中使用的数千个内联查询中的一两个.我并不是说这是唯一使用它们的地方,但是我已经构建了一些非常大的系统,还没有在其他地方使用它们的“需求”.
我认为最好花时间学习内联编写高速,低拖动查询,并使用EXPLAIN来验证索引设置正确.我认为,除非您对存储过程有非常特定的需求,否则您会发现它们对于日常使用非常不友好.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。