数据库中排序的比较及使用条件的详细解答
与MySQL相比,PHP具有以下优点:
1,考虑到可扩展性和整个网站的整体性能,在应用层排序(PHP)显然会降低数据库的负载,从而提高整个网站的扩展能力。事实上,数据库的排序,是非常昂贵的,消耗的内存,CPU,如果有很多并发,数据库到瓶颈很容易。
2,如果应用层(PHP)和MySQL之间有一个数据中间层,PHP将有更好的效益。
3,内存中PHP的数据结构是专门针对特定应用程序设计的,它比数据库更简洁高效。
4,PHP可以在不考虑数据灾难恢复的情况下减少该部分的操作损失。
5,PHP没有锁定表的问题;
6、MySQL中的排序、请求和结果返回需要通过网络连接完成,PHP可以在排序后直接返回,从而减少了网络IO。
至于执行速度,差别应该不会很大,除非在应用设计有问题,造成大量不必要的网络IO。另外,应用层要注意缓存PHP设置,如果报告的内部误差超过;在这时间,评价应根据应用,或缓存调整。具体的选择取决于具体的应用。
列出一些PHP中更好的执行:
1。数据源不在MySQL中,存在硬盘、内存或网络请求。
2,数据存在于MySQL中,数量不多,并且没有相应的索引,此时,数据是通过php排序取出的更快;
三.数据源来自多个MySQL服务器,当数据从多个MySQL中提取时,然后在PHP中更快地进行排序。
4,除了MySQL之外,还有其他数据源,如硬盘、内存或来自网络的请求。此时,不适合将这些数据存储到MySQL中,然后对它们进行排序。
列出一些必须在MySQL中排序的实例:
1,这种索引已经存在于MySQL中;
2,MySQL中的数据量很大,结果集需要一小部分数据,例如1000000行数据,并排在前10位。
3,对于单排序和多调用的情况,如统计聚合,可以用于不同的服务,因此MySQL中首选排序,此外,对于数据深度挖掘,通常的做法是在应用层完成复杂的操作,并将结果保存到MySQL中,这很容易被多次使用。
4,无论数据源来自何处,当数据量达到一定规模时,由于内存和缓存之间的关系,它不再适合于PHP中的排序。同时,数据复制、导入或MySQL索引优化比PHP。然而,这将是更好地使用java和C++来处理这些业务。有一些数据聚合或聚合,类似于大的数据集,和客户端的排序是不值得的。当然,一个类似的搜索引擎也可以用来解决类似的应用。
从网站的整体考虑,有必要增加人力和成本的考虑。如果网站规模和负载小,和人力是有限的(数量和能力可能是有限的),在这个时候,我们需要做大量的开发和应用层调试(PHP),这需要时间和不值得的增益。它不是简单的和快速的与DB的交易。对于大型网站,服务器电源,成本高,在计算系统的框架非常小心,可以节省大量的成本,有必要对公司的可持续发展;如果在应用层(PHP)排序和满足业务需求,尽可能在应用层。
这里介绍了PHP中排序的执行和MySQL中排序的相关知识,希望这个介绍能给您带来回报!