Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menjana Julat Nombor dengan Cekap dalam MySQL?

Bagaimana untuk Menjana Julat Nombor dengan Cekap dalam MySQL?

Patricia Arquette
Lepaskan: 2025-01-18 01:47:11
asal
448 orang telah melayarinya

How to Efficiently Generate a Range of Numbers in MySQL?

Menjana jujukan angka dengan cekap dalam MySQL

Dalam pengurusan pangkalan data, mencipta jujukan nombor berturut-turut boleh menjadi sangat berguna untuk pelbagai tugas. MySQL menyediakan cara yang cekap untuk menjana julat sedemikian tanpa menggunakan bahasa skrip luaran.

Ini boleh dicapai melalui pendekatan berasaskan koleksi seperti yang ditunjukkan di bawah. Kaedah ini amat berguna untuk menjana sejumlah besar nilai tanpa overhed gelung.

Berikut ialah contoh pertanyaan yang menjana julat nombor dari 0 hingga 999:

<code class="language-sql">INSERT INTO myTable (nr)
SELECT SEQ.SeqValue
FROM (
    SELECT (HUNDREDS.SeqValue + TENS.SeqValue + ONES.SeqValue) SeqValue
    FROM (
        SELECT 0 SeqValue UNION ALL SELECT 1 SeqValue UNION ALL SELECT 2 SeqValue UNION ALL SELECT 3 SeqValue UNION ALL SELECT 4 SeqValue UNION ALL SELECT 5 SeqValue UNION ALL SELECT 6 SeqValue UNION ALL SELECT 7 SeqValue UNION ALL SELECT 8 SeqValue UNION ALL SELECT 9 SeqValue
    ) ONES
    CROSS JOIN (
        SELECT 0 SeqValue UNION ALL SELECT 10 SeqValue UNION ALL SELECT 20 SeqValue UNION ALL SELECT 30 SeqValue UNION ALL SELECT 40 SeqValue UNION ALL SELECT 50 SeqValue UNION ALL SELECT 60 SeqValue UNION ALL SELECT 70 SeqValue UNION ALL SELECT 80 SeqValue UNION ALL SELECT 90 SeqValue
    ) TENS
    CROSS JOIN (
        SELECT 0 SeqValue UNION ALL SELECT 100 SeqValue UNION ALL SELECT 200 SeqValue UNION ALL SELECT 300 SeqValue UNION ALL SELECT 400 SeqValue UNION ALL SELECT 500 SeqValue UNION ALL SELECT 600 SeqValue UNION ALL SELECT 700 SeqValue UNION ALL SELECT 800 SeqValue UNION ALL SELECT 900 SeqValue
    ) HUNDREDS
) SEQ;</code>
Salin selepas log masuk

Pertanyaan ini menggunakan operator UNION ALL untuk mencipta jujukan gabungan nombor dengan menggabungkan jujukan berasingan satu, puluh dan ratusan digit. Operasi CROSS JOIN membolehkan menggabungkan semua elemen dalam setiap jujukan, menghasilkan julat nombor yang lancar.

Jujukan yang dijana boleh dimasukkan terus ke dalam jadual INSERT INTO menggunakan pernyataan myTable. Kaedah ini mengisi jadual dengan cekap dengan data berjujukan, memastikan pengecam unik atau sebarang nilai berangka lain yang diperlukan dijana.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Julat Nombor dengan Cekap dalam MySQL?. 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