Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mencari Nilai Dipisahkan Koma dengan Cekap dalam MySQL Tanpa Menggunakan Perhubungan Jadual?

Bagaimana untuk Mencari Nilai Dipisahkan Koma dengan Cekap dalam MySQL Tanpa Menggunakan Perhubungan Jadual?

Patricia Arquette
Lepaskan: 2024-12-25 01:06:14
asal
504 orang telah melayarinya

How to Efficiently Search Comma-Separated Values in MySQL Without Using Table Relationships?

Carian Cekap untuk Nilai Dipisahkan Koma dalam Pangkalan Data MySQL

Apabila bekerja dengan jadual data yang mengandungi nilai dipisahkan koma, mencari padanan tertentu boleh menjadi tugas yang mencabar. Dalam kes ini, anda mempunyai dua jadual: pelanggan (mengandungi alamat e-mel) dan imap_email (di mana medan kepada mengandungi alamat e-mel yang dipisahkan koma). Anda perlu mencari dengan cekap dalam jadual imap_emails berdasarkan alamat e-mel daripada jadual pelanggan.

Daripada menggunakan keadaan LIKE, anda boleh memanfaatkan fungsi FIND_IN_SET untuk melakukan carian yang lebih disasarkan. Fungsi ini membolehkan anda menyemak sama ada nilai tertentu ditemui dalam rentetan yang dipisahkan koma.

Penyelesaian:

Pertanyaan berikut menunjukkan cara anda boleh menggunakan FIND_IN_SET untuk cekap mencari:

SELECT *
FROM imap_emails
INNER JOIN customers
ON FIND_IN_SET(customers.email, imap_emails.to) > 0
Salin selepas log masuk

Pertanyaan ini melakukan cantuman dalaman antara dua jadual, memadankan baris di mana e-mel pelanggan terdapat dalam medan yang dipisahkan koma pada jadual imap_emails. Dengan menggunakan FIND_IN_SET dan bukannya LIKE, anda meningkatkan kecekapan carian dan mengelakkan positif palsu.

Pertimbangan Tambahan:

Dalam soalan anda, anda menyebut bahawa anda tidak boleh menggunakan perhubungan antara meja-meja itu. Walau bagaimanapun, jika anda mempunyai keupayaan untuk mewujudkan perhubungan (mis., menggunakan kunci asing), ia akan meningkatkan integriti data dan prestasi pertanyaan carian anda dengan ketara.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Dipisahkan Koma dengan Cekap dalam MySQL Tanpa Menggunakan Perhubungan Jadual?. 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