【发布时间】:2017-05-12 11:01:38
【问题描述】:
是否有人比较了 mysql 和 MSSQL 的类似中等复杂性存储过程的性能。我们有几个迁移到 Mysql 的大型 proc。与 mssql 计数器部件相比,这些运行速度相当慢。 可能有很多原因
- 硬件很差。 (内存、磁盘、SSD)
- Mysql 服务器配置不正确。
- Mysql Proc 执行和优化真的很慢。
MSsql 数据库 proc 速度快 1 倍或 2-3 倍。例如,一个 1000 行的 proc 在 MSSql 中需要 2 秒,在 mysql 中需要 10 秒。 你能帮我解释一下为什么吗?我们已经对proc源代码进行了1对1的转换。
谢谢
【问题讨论】:
-
首先,确认是 SP 让它变慢了,而不是查询、索引等。
CURSORs是一个很大的嫌疑人。交易也是如此。而且,谁做的翻译——自动化的东西,或者是 MySQL 的新手,或者是 MySQL 的专家,但谁可能不了解 Mssql 的精妙之处? -
“1 对 1 转换”在尝试精确复制
TOP、SEQUENCE、ROW_NUMBER等时可能尤其糟糕。通过了解 intent 代码,然后实现 等效 功能。 -
@RickJames 这就是过去 3 个月所做的事情。但现在我正在调整 mysql 配置文件。让我们看看性能如何。谢谢:)
标签: mysql sql-server performance stored-procedures benchmarking