Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memadam Baris Pendua dengan Cekap dalam Pangkalan Data SQLite?

Bagaimana untuk Memadam Baris Pendua dengan Cekap dalam Pangkalan Data SQLite?

Mary-Kate Olsen
Lepaskan: 2025-01-05 16:01:46
asal
535 orang telah melayarinya

How to Efficiently Delete Duplicate Rows in an SQLite Database?

Mengenal pasti dan Mengalih Keluar Baris Pendua dalam Pangkalan Data SQLite

Pertindihan dalam rekod pangkalan data boleh timbul, menimbulkan cabaran apabila mengekalkan integriti data dan mengoptimumkan prestasi. Senario ini melibatkan jadual SQLite3 yang besar dengan dua lajur, 'cincang' (teks) dan 'd' (sebenar), di mana beberapa baris mempamerkan nilai pendua untuk kedua-dua lajur. Objektifnya adalah untuk memadamkan baris pendua ini dengan cekap sambil mengekalkan baris unik.

Penyelesaian yang disediakan menggunakan lajur rowid unik dalam SQLite untuk membezakan baris. Pertanyaan di bawah menyasarkan dan menghapuskan baris pendua dengan mengekalkan nilai rowid terendah untuk setiap gabungan unik nilai 'cincang' dan 'd':

delete   from YourTable
where    rowid not in
         (
         select  min(rowid)
         from    YourTable
         group by
                 hash
         ,       d
         )
Salin selepas log masuk

Pertanyaan ini beroperasi dengan mengenal pasti rowid minimum untuk setiap gabungan yang berbeza dahulu daripada nilai 'hash' dan 'd' melalui subkueri. Fungsi 'min(rowid)' mengekstrak rowid terendah untuk setiap kumpulan pasangan 'hash' dan 'd' yang sama. Selepas itu, pertanyaan utama menggunakan klausa 'rowid not in' untuk memadam mana-mana baris yang rowidnya tidak sepadan dengan rowid minimum untuk nilai 'hash' dan 'd' masing-masing.

Dengan memanfaatkan pendekatan ini, pertanyaan cekap mengenal pasti dan mengalih keluar baris pendua sambil mengekalkan data unik dalam jadual. Penggunaan lajur rowid sebagai pengecam unik memudahkan proses pemadaman yang pantas dan berkesan, memastikan ketepatan data dan mengoptimumkan prestasi pangkalan data untuk operasi masa hadapan.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Baris Pendua dengan Cekap dalam Pangkalan Data SQLite?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan