所选语言和数据库是否有性能提升?

时间:2009-10-12 20:07:42

标签: php mysql sql-server database

我们现有的系统使用PHP和Microsoft SQL Server。

我想弄清楚如果使用PHP和MySQL会有性能提升吗?

需要一些努力来改变这个平台,所以我希望尽可能多地找到它。我有什么问题要问自己确定正确的选择吗?

全部谢谢

更多信息

  • 每月处理100万份记录(每月)
  • PHP + MS SQL Server在同一台机器上运行
  • Windows Enivronment

澄清

我最初希望这个交换是一个神奇的解决方案,显然不是!!

为了保持这个线程的有用性,我们是否可以专注于切换到MySQL或任何其他数据库系统对已经过精心调整的整体应用程序的影响,而无需其他任何工作!

5 个答案:

答案 0 :(得分:4)

您可能希望首先分析您的应用程序,并确定在数据库中花费了多少时间,以及每个查询中花了多少时间。

然后它更容易回答,因为你可以说应用程序在数据库中占3%,其中27%在选择中,其余的是涉及触发器的插入。

此外,MySQL将使用哪个操作系统?

它是否在与PHP服务器不同的计算机上?

您目前的架构是什么样的?

如果您正在查看您的网络服务器和数据库服务器都在同一台计算机上,然后将它们分开用于MySQL,并且您获得性能提升,这很可能是因为单个CPU在你的第一台电脑上,现在不需要做双重任务。

哪个版本的PHP?会改变吗?

您目前使用的是mssql函数,odbc函数还是pdo?

答案 1 :(得分:4)

在大多数情况下,出于性能原因,我不会考虑交换数据库后端,直到我确定其他所有内容都已用完为止。

RDBMS是复杂的动物。在考虑将其切换之前,请仔细查看当前的数据库。更好的是 - 向具有SQLServer经验的专家付费。配置不当的数据库无处不在。

您可能会看到性能提升切换,或者您可能会受到影响。直到你知道你当前的数据库被正确调整,这只是猜测。

正如James Black刚刚回答的那样,提高性能的正确方法是分析您的应用程序,并弄清楚它在哪里花费时间。

答案 2 :(得分:1)

检查数据库方面最重要的是正确使用索引。使用EXPLAIN PLAN检查您的查询,看看他们是否正在进行TABLE SCAN。如果是,请添加索引以提高性能。

我会严重怀疑将SQL Server交换出来并且MySQL in会产生任何不同。如果这么简单,并且MySQL具有比SQL Server更全面的性能优势,SQL Server的市场份额将在一夜之间降至零,直到差异得到纠正。互联网无法隐藏这种差异。

分析整个应用程序的建议非常好。您可以在等待这种情况发生时检查您的查询。

答案 3 :(得分:1)

除了已经说过的内容之外,我认为值得一提的是MySQL并不局限于这方面的一组特性 - 有几种不同的存储引擎可以与MySQL一起使用,每种都有不同的设置性能特征。使用MyISAM的MySQL与使用InnodDB的MySQL有很大的不同,而使用Infobright的MySQL与任何一个都有很大不同(当然,还有其他一些)。

答案 4 :(得分:1)

如果您的数据库存在性能问题,那么首先需要聘请能够对其进行性能调整的数据库专业人员。转换为新的后端可能会产生新的问题,如果你没有任何人员,他们的专业知识是数据库开发和性能调整,那么就不太可能解决旧的问题。

如果设计和维护他们的人知道他或她在做什么,SQl Server可以轻松处理数据库大小的数据库。

我将指出除SQL Server之外什么都不应该在SQL Server计算机上运行,​​尤其是如果您期望高性能的话。只是那个声明让我觉得你可能会有一个严重不足的系统来满足你的要求。我绝不会考虑在与我们的数据库相同的服务器上运行我们的应用程序