请做过大型PHP网站的高手赐教!
这是个简单却难以回答得圆满的问题:
做一个大型的网站,就是LAMP系统,在程序后台有很大的计算量,这些计算量都要访问MySQL数据库。请问,在做设计时,这些大计算量的程序,是放在PHP里用一些PHP自定义函数来实现更好,还是做成MySQL的存储过程和触发器,用MySQL的存储过程和触发器来实现更好?
类似的,比如我用SQL Server 2000 + C#来开发一个大型网站,或者功能型网站,最好把需要大量计算的部分放在SQL Server 2000的存储过程和触发器里实现,而前台使用C#来调用这些存储过程和触发器。但是PHP + MySQL的情况可能不一样,这一点因为我没有做过PHP + MySQL的大型网站,所以不清楚是否该采用这样的方法来设计。
我是基于这么考虑的:
第一,使用存储过程和触发器,减少外部程序对数据库的访问,就少了PHP对MySQL数据库N次访问的时间消耗。
第二,使用预编译的SQL语句,也许对MySQL来说执行效率会更快一些。
我的犹豫是:
第一,某些地方的说明是,PHP的处理速度非常快,要高于数据库的处理速度,如果我使用PHP本身来做大量的计算,可能相反速度高于使用数据库的计算速度
第二,某些地方的说明是,MySQL的存储过程能力还不是很成熟,这一点是否会影响到MySQL对预编译的SQL语句的执行效率。
需要说明的是,我眼下用的开发调试平台是:
WindowsXP + IIS5 + PHP5.2 + MySQL5.0