Mysql查询与存储过程的性能
问题描述:
我试过了一个关于mysql的查询,查询曾调用其他函数。 然后我在存储过程中添加了非常相同的查询,然后在mysql上执行该过程。 正常查询的执行时间比过程少1秒。 是不是它应该是相反的,因为程序会被缓存。Mysql查询与存储过程的性能
如果我在这里错过了一些东西,请向我解释。我很感谢你分享的知识。
问候
答
存储过程解析和编译,只有当它在数据库中的第一个,同时创建一个文本查询需要进行解析和编译每次它执行时一次。这是差别,对于有限数量的通话来说很小。
如果您只是针对单个查询进行比较,那么查询是最好的选择方式,但对于大型查询,您应该使用stroed过程。
答
我不知道是否适用于mysql,但对于其他数据库引擎(如Oracle),查询可能会被缓存并链接到编译后的连接。事实上即使数据也可能被缓存。
您是否尝试每次启动查询和存储过程几次?正确估计性能是强制性的。
需要更多的信息,理想的查询 –
显示一些代码,请您的查询和表定义。 – oezi
你第二次尝试过吗?对于两者的代码也是有用的。 –