Table of Contents
Q: List the reasons why performing sorting in PHP is better than sorting in MYSQL? Give some examples where sorting has to be done in MYSQL?
List some situations where sorting is better performed in PHP:
List some instances where sorting must be done in MYSQL:
Home Backend Development PHP Tutorial Sorting in PHP and Sorting in MySQL_PHP Tutorial

Sorting in PHP and Sorting in MySQL_PHP Tutorial

Jul 21, 2016 pm 03:47 PM
mysql php and author exist implement sort starter

This article was first published on InfoQ Chinese Station. Author: Ming Ling (dragon), Fenng. Note: Friends who want to reprint please note the first author of this article!
This article was written by dragon’s friend after he emailed for discussion A summary. Sorting in the DB or in the application is a very interesting topic. Dragon actually summarized it very well in his first email. I just added a few suggestions. Now put it up and share it with everyone. This article was also submitted to InfoQ Chinese Station.

Q: List the reasons why performing sorting in PHP is better than sorting in MYSQL? Give some examples where sorting has to be done in MYSQL?

A: Generally speaking, execution efficiency needs to consider the load conditions of CPU, memory and hard disk. Assuming that the MYSQL server and PHP server have been configured in the most suitable way, then System scalability (Scalability) and user-perceived Performance (User-perceived Performance) are the main goals we pursue. In actual operation, data in MYSQL is often stored in memory in HASH tables, BTREE, etc., and the operation speed is very fast; at the same time, INDEX has already performed some pre-sorting; in many applications, MYSQL sorting is the first choice. Sorting in the application layer (PHP) must also be performed in memory. Compared with MYSQL, it has the following advantages:

  • 1. Considering the scalability and overall performance of the entire website, sorting in the application layer (PHP) will obviously reduce the load on the database, thus improving the scalability of the entire website. In fact, the cost of sorting in the database is very high, consuming memory and CPU. If there are many concurrent sortings, the DB can easily reach a bottleneck.
  • 2. If there is a data middle layer between the application layer (PHP) and MYSQL, and it is properly utilized, PHP will have better benefits.
  • 3. PHP’s in-memory data structure is specially designed for specific applications and is more concise and efficient than databases;
  • 4. PHP does not need to consider data disaster recovery issues and can reduce this part of the operation loss;
  • 5. There is no table locking problem in PHP;
  • 6. Sorting in MYSQL, request and result return also need to be carried out through a network connection, while in PHP you can return directly after sorting, reducing network IO.

As for the execution speed, the difference should not be huge, unless there is a problem with the application design, causing a lot of unnecessary network IO. In addition, the application layer should pay attention to PHP's Cache settings. If it is exceeded, an internal error will be reported. At this time, it is necessary to evaluate or adjust the Cache according to the application. The specific choice will depend on the specific application.

List some situations where sorting is better performed in PHP:

  • 1. The data source is not in MYSQL, but exists in hard disk, memory or requests from the network;
  • 2. The data is stored in MYSQL, the amount is not large, and there is no corresponding index. At this time, it is faster to take out the data and sort it with PHP;
  • 3. The data source comes from multiple MYSQL servers. At this time, it is faster to retrieve the data from multiple MYSQL and then sort it in PHP;
  • 4. In addition to MYSQL, there are other data sources, such as hard disk, memory or requests from the network. At this time, it is not suitable to store these data in MYSQL and then sort;

List some instances where sorting must be done in MYSQL:

  • 1. This sorted index already exists in MYSQL;
  • 2. The amount of data in MYSQL is large, and the result set requires a very small subset of it; for example, if there are 1,000,000 rows of data, take the TOP 10;
  • 3. For situations where one sorting and multiple calls are required, such as statistical aggregation, which can be provided to different services, then sorting in MYSQL is preferred. In addition, for deep data mining, the usual approach is to complete complex operations such as sorting at the application layer, and then store the results in MYSQL for easy use multiple times.
  • 4. No matter where the data source comes from, when the amount of data reaches a certain scale, it is no longer suitable for sorting in PHP due to the memory/Cache occupied; at this time, the data should be copied, imported or stored in MYSQL , and using INDEX optimization, is better than PHP. However, it would be better to handle such operations in Java or even C++. [Some data similar to the aggregation or summary of large data sets, sorting on the client side outweighs the gain and loss. Of course, ideas similar to search engines can also be used to solve similar application situations. ]

From the overall consideration of the website, manpower and cost considerations must be included. If the website size and load are small, and the manpower is limited (the number of people and capabilities may be limited), sorting at the application layer (PHP) requires a lot of development and debugging work, which is time-consuming and not worth the loss; it is better to process it in DB. Simple and fast. For large-scale websites, electricity and server costs are very high. Careful planning on system architecture can save a lot of costs, which is necessary for the company's sustainable development. At this time, if the application layer (PHP) can be sorted and satisfied Business needs should be implemented at the application layer as much as possible.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/319998.htmlTechArticleThis article was first published on the InfoQ Chinese site. Author: Ming Ling (dragon), Fenng. Note: Friends who want to reprint please note the first author of this article! This article was written by dragon's friend after he emailed to discuss...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP and Python: Comparing Two Popular Programming Languages PHP and Python: Comparing Two Popular Programming Languages Apr 14, 2025 am 12:13 AM

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

The Enduring Relevance of PHP: Is It Still Alive? The Enduring Relevance of PHP: Is It Still Alive? Apr 14, 2025 am 12:12 AM

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP's Purpose: Building Dynamic Websites PHP's Purpose: Building Dynamic Websites Apr 15, 2025 am 12:18 AM

PHP is used to build dynamic websites, and its core functions include: 1. Generate dynamic content and generate web pages in real time by connecting with the database; 2. Process user interaction and form submissions, verify inputs and respond to operations; 3. Manage sessions and user authentication to provide a personalized experience; 4. Optimize performance and follow best practices to improve website efficiency and security.

How to connect to the database of apache How to connect to the database of apache Apr 13, 2025 pm 01:03 PM

Apache connects to a database requires the following steps: Install the database driver. Configure the web.xml file to create a connection pool. Create a JDBC data source and specify the connection settings. Use the JDBC API to access the database from Java code, including getting connections, creating statements, binding parameters, executing queries or updates, and processing results.

PHP in Action: Real-World Examples and Applications PHP in Action: Real-World Examples and Applications Apr 14, 2025 am 12:19 AM

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP and Python: Code Examples and Comparison PHP and Python: Code Examples and Comparison Apr 15, 2025 am 12:07 AM

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.

PHP and Python: Different Paradigms Explained PHP and Python: Different Paradigms Explained Apr 18, 2025 am 12:26 AM

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP: Handling Databases and Server-Side Logic PHP: Handling Databases and Server-Side Logic Apr 15, 2025 am 12:15 AM

PHP uses MySQLi and PDO extensions to interact in database operations and server-side logic processing, and processes server-side logic through functions such as session management. 1) Use MySQLi or PDO to connect to the database and execute SQL queries. 2) Handle HTTP requests and user status through session management and other functions. 3) Use transactions to ensure the atomicity of database operations. 4) Prevent SQL injection, use exception handling and closing connections for debugging. 5) Optimize performance through indexing and cache, write highly readable code and perform error handling.

See all articles