【发布时间】:2011-02-01 05:53:58
【问题描述】:
我们一直在为我们的 Web 应用程序使用 PHP/MySQL,该应用程序已经增长很多,数据库大约 4-5GB,其中一个表有时是 2GB,因此每当调用对该表的任何查询时都会减慢速度。
我们应该尝试优化,还是我们使用 MySQL 超出其限制?将我们的 Web 应用程序切换到 .NET/SQL Server 会解决这些问题吗?
【问题讨论】:
标签: php asp.net mysql sql-server
我们一直在为我们的 Web 应用程序使用 PHP/MySQL,该应用程序已经增长很多,数据库大约 4-5GB,其中一个表有时是 2GB,因此每当调用对该表的任何查询时都会减慢速度。
我们应该尝试优化,还是我们使用 MySQL 超出其限制?将我们的 Web 应用程序切换到 .NET/SQL Server 会解决这些问题吗?
【问题讨论】:
标签: php asp.net mysql sql-server
你会得到很多非常热情的回应。
从代码和性能的角度来看,PHP 与经典的 ASP 非常相似。根据您最喜欢的搜索引擎提供的许多基准测试,ASP.NET v1 比经典 ASP 快 3 到 5 倍。得出你自己的结论。
我觉得 MSSQL 是一种优越的数据库解决方案。如果你坚持使用开源,至少看看 Postgres。它不太受欢迎,但非常强大。
回答您真正的问题:性能是您的工具集和平台选择的函数,也是开发人员技能和项目结构的函数。我见过的可以从一些健康的重构和优化中受益的项目比我看到的受编写它们的平台限制的项目要多得多。用完全不同的语言重写大型应用程序很少值得。相反,我会专注于改进您现有的代码库,并寻找方法以增量升级到像 ASP.NET 这样的平台。
【讨论】:
还请记住,切换将需要您跳转到 IIS Windows 服务器,并且很可能会涉及更多成本。在考虑这样的开关时,这里有很多考虑因素。
我说如果应用程序需要它,就解决它。
【讨论】:
您当然没有使用超出其限制的 MySQL。但是您应该考虑在 MSSQL 上对您的数据库查询进行基准测试,看看您是否注意到了巨大的改进。
这里涉及许多因素,您的代码库、数据库优化和对表结构的更改、服务器规范......它们都是独立的。
是否有任何特别慢的查询,或者它在整个应用程序中运行缓慢?可以在这里实现任何缓存吗?你有合适的索引吗?
【讨论】: