我在mysql上尝试了一个查询,查询调用了其他函数。 然后我在存储过程中添加了相同的查询,然后在mysql上执行了该过程。 正常查询的执行时间比过程少1秒。 不应该是相反的,因为程序被缓存了。
如果我在这里遗漏了什么,请向我解释。感谢您分享了很多知识。
此致
答案 0 :(得分:0)
存储过程在数据库中首次创建时只进行一次解析和编译,而文本查询在每次执行时都需要进行解析和编译。这是差异,对于有限数量的电话来说它很小 如果您只是尝试比较单个查询,那么查询是选择的最佳方式,但对于大型查询,您应该使用stroed过程。
答案 1 :(得分:0)
我不知道mysql,但对于像Oracle这样的其他数据库引擎,查询可能会被缓存并在编译后链接到连接。甚至数据也可以实际缓存。
您是否尝试过多次启动查询和存储过程?必须对性能进行正确估计。