是否值得在存储过程或代码(或单独的类)中进行编码。
我在某个地方读到,存储过程的执行速度更快,因为它们位于数据库中,在读取php代码时不需要进行解释。
我喜欢在一个单独的文件中编写我需要的mysql代码并从那里引用它。如果我使用存储过程会有什么不同吗?

最佳答案

我最近碰到这个问题。
在数据库上使用存储过程要快得多,当您创建SP时,它会将其编译成一个中间代码,运行起来比在运行时解析标准SQL语句要快得多。sp的最大优点是可以传入一些参数,并且可以让sp在db上完成一大堆工作,这些工作可以使用if else语句和case进行控制,这也将应用程序和db之间的通信量保持在最低限度。
SP的最后一个优点是,您可以将DB实现与应用程序实现分开,这意味着如果您在应用程序的10个不同位置执行插入,然后更改需要执行插入的方式,则需要返回并更改这10个不同位置的插入,而如果您使用SP包装好插入内容,然后就可以动态更改该SP,应用程序不需要知道;)
如果您已经编写了sql代码,那么实际上75%的时间都在编写sp
编辑:如果您使用php mysqli,您可能知道也可能不知道调用存储过程返回2个行集,而不是只返回1的标准查询,但只要您知道它的到来,这并不是一个太大的问题:-)

关于php - 存储过程和mysql,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7783990/

10-11 22:43
查看更多