Home > Database > Mysql Tutorial > body text

How to Efficiently Delete Millions of Duplicate Rows in MySQL Without Disrupting Normal Operations?

Barbara Streisand
Release: 2024-11-05 12:11:02
Original
568 people have browsed it

How to Efficiently Delete Millions of Duplicate Rows in MySQL Without Disrupting Normal Operations?

Optimizing Massive Row Deletion in MySQL

When dealing with millions of duplicate rows in a massive table, efficient deletion becomes paramount to avoid disrupting normal database operations. This article explores alternative approaches to minimize table lock times and maintain site uptime.

Option 1: Gradual Deletion

Rather than executing a single, exhaustive delete query, this method uses a loop to perform numerous smaller delete operations. While this approach addresses table locking, it can still significantly increase database load and execution time.

Option 2: Rename and Restore

Renaming the affected table, recreating an empty one, and subsequently renaming tables back after cleanup offers a less intrusive solution. However, this process involves multiple steps and can interrupt reporting functionality. The data merging process can also be challenging based on the specific data type.

Optimal Solution

An alternative technique is to employ a script that runs the following query in a loop:

DELETE FROM `table`
WHERE (whatever criteria)
ORDER BY `id`
LIMIT 1000
Copy after login

This query gradually deletes rows in batches of 1000, effectively avoiding table locks. By including a pause between loop iterations, the script minimizes database load. Users remain unaffected, and cleanup can be scheduled for optimal timing.

The above is the detailed content of How to Efficiently Delete Millions of Duplicate Rows in MySQL Without Disrupting Normal Operations?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
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
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template