0

拥有的MySQL和MSSQL类似的中等复杂程度的存储过程有人相比性能。我们有几个我们已经迁移到Mysql的proc。与mssql计数器部分相比,那些运行速度相当慢。 可能有很多原因比较Mysql的程序和SQL服务器程序性能

  1. 硬件很差。 (RAM,DISK,SSD)
  2. MySQL服务器配置不当。
  3. Mysql Proc执行和优化非常慢。

MSSQL数据库PROC是一个因素或快2-3倍。例如,具有1000行的proc在MSSql中需要2秒,在mysql中需要10秒。 你能帮我解释为什么吗?我们已经完成了proc源代码的1对1转换。

感谢

+0

首先,确认它,使得它更慢,不能查询,索引等'CURSORs'是一个大的犯罪嫌疑人的SP。交易也是如此。而且,谁做了翻译 - 有些是自动化的,或者是MySQL的新手,或者是MySQL的专家,但是他们可能不了解Mssql的细微之处? –

+0

“1对1的转换”,试图准确地复制'TOP','SEQUENCE','ROW_NUMBER'等。这些事情都更好地理解代码的_intent_,然后实施_equivalent_功能完成时可能会特别糟糕。 –

+0

@RickJames多数民众赞成在过去3个月做了什么。但现在我正在调整mysql配置文件。让我们看看表现如何。 谢谢:) – abksharma

回答

-1

存储过程会给你一个小的性能提升,但主要是他们这样做,是很难或不可能做一个简单的查询任务。存储过程对于简化许多不同类型客户端的数据访问非常有用。数据库管理员喜欢它们是因为它们控制数据库的使用方式,而不是将这些细节留给开发人员。

查找到索引和适当的表设计,以获得更好的性能。

+0

MSsql数据库过程更快一倍或2-3倍。例如,具有1000行的proc在MSSql中需要2秒,在mysql中需要10秒。你能帮我解决原因吗? 我们已经完成了1对1的proc源代码转换。 – abksharma