Encountered an issue with a previous version related to large data processing reports. I had previously solved this problem with the sync handler code, but it ran very slowly, causing me to have to extend the maximum script run time by 10 to 15 minutes. Is there a better way to handle large amounts of data in PHP sites? Ideally I'd like to run it in the background and make it as fast as possible. This process included processing thousands of pieces of financial data. I used Laravel to rebuild the site.
Most popular answer (from spin81):
People tell you to use Queues and whatnot, it's a good idea, but the problem doesn't seem to be with PHP. Laravel/OOP is great, but the program that generates the reports you're talking about doesn't seem like you should have a problem. For a different perspective, I'd like to see the SQL query you used to get this data. As others have said, if your form has thousands of rows your report shouldn't take 10 to 15 minutes to complete. In fact, if you do everything right you can probably process thousands of records and complete the same report in a minute.
1. If you are doing thousands of queries, see if you can do just a few queries first. I've previously used a PHP function to reduce 70,000 queries to a dozen queries, thus reducing its run time from minutes to a fraction of a second.
2. Run EXPLAIN on your query to see if you are missing any indexes. I once made a query and the efficiency improved by 4 orders of magnitude by adding an index. This is not an exaggeration. If you are using MySQL, you can learn this. This "black magic" skill will stun you and your friends.
3. If you are doing a SQL query and getting the results and getting a lot of numbers together, see if you can use something like SUM() and Functions like AVG() call the GROUP BY statement. As a general rule, let the database handle as much of the calculation as possible. One very important tip I can give you is this: (at least in MySQL) boolean expressions take the value 0 or 1, and if you're really creative you can do it using SUM() and its friends Some very surprising things.
4. Okay, here’s a final tip from the PHP side: See if you have calculated these equally time-consuming numbers many times. For example, let's say the cost of 1000 bags of potatoes is expensive to calculate, but you don't need to calculate that cost 500 times before you store the cost of 1000 bags of potatoes in an array or something like that, so you don't have to put the same thing Calculations over and over again. This technique is called mnemonics, and it often works wonders when used in reports like yours.
related suggestion:
Solutions to big data, large traffic and high concurrency of PHP websites
Six basic javascript tutorials Detailed explanation of data type usage
Recommended articles about large data volume testing
The above is the detailed content of Example analysis of big data processing ideas in PHP. For more information, please follow other related articles on the PHP Chinese website!

随着数据的不断增长,数据分析和处理的需求也越来越重要。因此,现在越来越多的人开始将PHP和ApacheSpark集成来实现数据分析和处理。在本文中,我们将讨论什么是PHP和ApacheSpark,如何将二者集成到一起,并且用实例说明集成后的数据分析和处理过程。什么是PHP和ApacheSpark?PHP是一种通用的开源脚本语言,主要用于Web开发和服务

随着大数据时代的到来,数据处理变得越来越重要。对于各种不同的数据处理任务,不同的技术也应运而生。其中,Spark作为一种适用于大规模数据处理的技术,已经被广泛地应用于各个领域。此外,Go语言作为一种高效的编程语言,也在近年来得到了越来越多的关注。在本文中,我们将探讨如何在Go语言中使用Spark实现高效的数据处理。我们将首先介绍Spark的一些基本概念和原理

Vue3中的过滤器函数:优雅的处理数据Vue是一个流行的JavaScript框架,拥有庞大的社区和强大的插件系统。在Vue中,过滤器函数是一种非常实用的工具,允许我们在模板中对数据进行处理和格式化。Vue3中的过滤器函数有了一些改变,在这篇文章中,我们将深入探讨Vue3中的过滤器函数,学习如何使用它们优雅地处理数据。什么是过滤器函数?在Vue中,过滤器函数是

数据可视化是当前许多企业和个人在处理数据时非常关注的问题,它可以将复杂的数据信息转化为直观易懂的图表和图像,从而帮助用户更好地了解数据的内在规律和趋势。而PHP作为一种高效的脚本语言,在数据可视化方面也具有一定的优势,本文将介绍如何使用PHP进行数据可视化。一、了解PHP图表插件在PHP的数据可视化领域,大量的图表插件可以提供图表绘制、图表美化以及图表数据呈

PHP是一门广泛应用于Web开发的语言,通常被用来构建动态的Web应用程序。随着数据驱动型应用程序的兴起,PHP在数据分析和处理方面也变得越来越重要。本文将介绍如何使用PHP进行数据分析处理,从数据的获取、存储、分析和可视化展示等方面进行讲解。一、数据获取要进行数据分析处理,首先需要获取数据。数据可以来自各种不同的来源,例如数据库、文件、网络等。在PHP中,

随着数据量不断增大,数据分析和处理也变得越来越复杂。在大规模数据处理的过程中,内存泄漏是很常见的问题之一。如果不正确地处理,内存泄漏不仅会导致程序崩溃,还会对性能和稳定性产生严重影响。本文将介绍如何处理大量数据的内存泄漏问题。了解内存泄漏的原因和表现内存泄漏是指程序在使用内存过程中,分配的内存没有被及时释放而导致内存空间浪费。这种情况常常发生在大量数据处理的

随着互联网和信息技术的迅速发展,数据处理已经成为了现代计算机科学和工程学的一个重要研究领域,许多程序员和开发者都需要在他们的应用程序中处理大量数据。PHP作为一种简单易用的脚本语言,也逐渐成为了数据处理中的有力工具。在本文中,我们将介绍PHP中的一些批量数据处理技巧,以帮助开发者更高效地处理大量数据。使用for循环处理数据for循环是PHP中最基本的循环结构

在数据分析领域中,数据清洗是非常重要的环节。数据清洗包括识别和修改数据中的任何错误、表征与处理丢失或无效信息等。在Python中,有许多库可以帮助我们进行数据清洗。接下来,我们将介绍如何使用Python进行数据清洗。一、加载数据在Python中,可以使用pandas库来加载数据。当然,数据清洗之前需要对数据的类型进行检查。对于CSV文件,pandas中


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

SublimeText3 Chinese version
Chinese version, very easy to use

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Dreamweaver CS6
Visual web development tools
