Php 所选语言和DB是否有性能提升?

Php 所选语言和DB是否有性能提升?,php,mysql,sql-server,database,Php,Mysql,Sql Server,Database,我们目前的系统使用PHP和Microsoft SQL Server 我想知道使用PHP和MySQL是否会提高性能 这将需要一些努力来改变这个平台,所以我希望能找到尽可能多的。我是否应该问自己一些问题来决定正确的选择 谢谢大家 更多信息 定期处理1亿条记录(每月) PHP+MS SQL Server在同一台计算机上运行 Windows环境 澄清 我最初希望这次交换是一个神奇的解决方案,显然不是 为了保持这个线程的有用性,我们可以集中讨论切换到MySQL或任何其他DB系统会对一个经过微调的整体应

我们目前的系统使用PHP和Microsoft SQL Server

我想知道使用PHP和MySQL是否会提高性能

这将需要一些努力来改变这个平台,所以我希望能找到尽可能多的。我是否应该问自己一些问题来决定正确的选择

谢谢大家

更多信息
  • 定期处理1亿条记录(每月)
  • PHP+MS SQL Server在同一台计算机上运行
  • Windows环境
澄清 我最初希望这次交换是一个神奇的解决方案,显然不是


为了保持这个线程的有用性,我们可以集中讨论切换到MySQL或任何其他DB系统会对一个经过微调的整体应用程序产生什么样的影响,而其他什么都不能做

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

那么回答起来就更容易了,因为您可以说应用程序在数据库中花费了3%,其中27%用于选择,其余是涉及触发器的插入

另外,MySQL将在哪个操作系统上运行

它是否在PHP服务器之外的另一台计算机上

您当前的体系结构是什么样的

如果您看到Web服务器和db服务器都在同一台计算机上,然后您将它们分离为MySQL,这样您的性能就得到了提高,这很可能是因为第一台计算机上的单个cpu现在不必执行双重任务

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


您当前使用的是mssql函数、odbc函数还是pdo

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

RDBMS是复杂的动物。在考虑把它们转换出来之前,好好看看你当前的数据库。更好的办法是,请有SQLServer经验的专家来完成这项工作。到处都是配置不当的数据库

您可能会看到性能的提高,或者您可能会受到影响。除非您知道当前数据库已正确调整,否则这一切都只是猜测


正如jamesblack刚才回答的那样,提高性能的正确方法是分析应用程序,并找出它在哪里花费时间

在数据库方面要检查的最重要的事情是正确使用索引。使用EXPLAIN PLAN检查您的查询,查看它们是否正在进行表扫描。如果是,则添加索引以提高性能

我非常怀疑,换掉SQL Server和换上MySQL会有什么不同。如果是这么简单,而且MySQL比SQL Server具有如此全面的性能优势,SQL Server的市场份额将在一夜之间降至零,直到差异得到纠正。互联网的存在不可能掩盖这种差异


对整个应用程序进行概要分析的建议非常好。您可以在等待查询发生时检查您的查询。

除了前面所说的,我认为值得一提的是,MySQL在这方面并不局限于一组单一的特性——MySQL可以使用几种不同的存储引擎,每种引擎都有不同的性能特性。使用MyISAM的MySQL与使用InnodDB的MySQL有很大的不同,而使用Infobright的MySQL与这两者都有很大的不同(当然,还有其他的)。

如果你有一个如此大的数据库存在性能问题,你首先需要的是雇佣一位能够对其进行性能调整的数据库专业人员。如果没有专门从事数据库开发和性能调整的人员,转换到新后端可能会产生新问题,也不太可能解决旧问题

如果设计和维护terrabyte大小的数据库的人员知道自己在做什么,SQl Server可以轻松地处理这些数据库


我要指出的是,只有SQL Server才能在SQL Server机器上运行,特别是当您期望高性能时。仅仅是这句话就让我觉得你们要求它做的事情很可能是一个动力严重不足的系统。我永远不会考虑在同一个服务器上运行我们的应用程序作为我们的数据库。 +1。老实说,重写模式和/或重写缓慢的查询可能会带来比仅仅切换到MySQL更大的性能提升感谢Frank的评论-我相信这对我们来说可能是事实,但我希望MySQL和PHP能带来一些魔力!但很明显,这并没有那么容易。首先,我确信问题在于数据库端——但不确定确切的位置。该系统处理1亿条记录,大多数语句都是更新的。我们正在研究索引,但在开始这个过程之前,最好先谈谈我们的平台。我觉得使用PHP+MS SQL Server很奇怪??如果有任何性能提升(多少),找到它将是非常棒的!MS SQL Server比mysql更适合某些需要,这取决于您需要什么。您可能希望首先优化数据库,因此,如果需要更多索引,请添加它们。但是,首先,从分析开始。然后,一次做一个改进,看看是否有任何改进,因为你会为索引之类的东西付出代价。例如,插入将花费更长的时间,但如果主要是更新,并且where子句是索引,则插入速度会更快。我喜欢知道优化时的数字,所以我可以证明改变导致了改进。我绝对同意改变事情,然后进行分析。这是将要做的事情,还有很大的空间