Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mencari Nombor dengan Cekap dalam N Baris Terakhir Jadual MySQL Besar?

Bagaimanakah Saya Boleh Mencari Nombor dengan Cekap dalam N Baris Terakhir Jadual MySQL Besar?

Barbara Streisand
Lepaskan: 2024-11-20 03:19:01
asal
848 orang telah melayarinya

How Can I Efficiently Search for a Number in the Last N Rows of a Large MySQL Table?

Mencari Nombor dengan Cekap dalam N Baris Terakhir Jadual MySQL Besar

Dalam jadual MySQL yang besar dengan berjuta-juta baris, anda mungkin menghadapi keperluan untuk menentukan jika nombor tertentu muncul dalam n baris terakhir. Untuk melakukan ini dengan cekap, pertimbangkan untuk menggunakan pendekatan berikut:

Bermula dengan konsep yang dicadangkan oleh @chaos, beberapa pengubahsuaian penting meningkatkan prestasi pertanyaan:

  • PESANAN OLEH Eksplisit untuk LIMIT: Sentiasa nyatakan ORDER BY bersama LIMIT untuk memastikan susunan baris. Bergantung pada pesanan tersirat boleh membawa kepada hasil yang tidak konsisten dan tidak mudah alih.
  • Turutan Menurun: Dengan membuat pesanan dalam tertib menurun, anda tidak perlu mengetahui jumlah baris dalam jadual terlebih dahulu .
  • Nama Korelasi untuk Jadual Terbitan: Berikan nama korelasi (alias jadual) kepada jadual terbitan untuk membezakannya daripada jadual asal.

Dengan ini pengubahsuaian berlaku, pertanyaan yang dioptimumkan menjadi:

SELECT `id`
FROM (
    SELECT `id`, `val`
    FROM `big_table`
    ORDER BY `id` DESC
    LIMIT $n
) AS t
WHERE t.`val` = $certain_number;
Salin selepas log masuk

Pertanyaan ini dengan cekap mencari kejadian $certain_number dalam baris $n terakhir big_table, menyediakan penyelesaian yang pantas dan boleh dipercayai untuk keperluan data anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Nombor dengan Cekap dalam N Baris Terakhir Jadual MySQL Besar?. 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