Rumah pangkalan data tutorial mysql MySQL与分页_MySQL

MySQL与分页_MySQL

Jun 01, 2016 pm 02:00 PM
rahmat

如果和MSSQL的TOP语法相比,那么MySQL的LIMIT语法要显得优雅了许多。使用它来分页是再自然不过的事情了。

  最基本的分页方式:

  SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT ...

  在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的问题就是确保使用了索引:

  举例来说,如果实际SQL类似下面语句,那么在category_id, id两列上建立复合索引比较好:

SELECT * FROM articles WHERE category_id = 123 ORDER BY id LIMIT 50, 10

  子查询的分页方式:

  随着数据量的增加,页数会越来越多,查看后几页的SQL就可能类似:

SELECT * FROM aricles WHERE category_id = 123 ORDER BY id LIMIT 10000, 10

  一言以蔽之,就是越往后分页,LIMIT语句的偏移量就会越大,速度也会明显变慢。

  此时,我们可以通过子查询的方式来提高分页效率,大致如下:

SELECT * FROM articles WHERE category_id = 123 AND id >= (
  SELECT id FROM articles ORDER BY id LIMIT 10000, 1
) LIMIT 10

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan Go dan konteks secara elegan untuk pengendalian ralat Cara menggunakan Go dan konteks secara elegan untuk pengendalian ralat Jul 21, 2023 pm 11:37 PM

Cara menggunakan Go dan konteks secara elegan untuk pengendalian ralat Dalam pengaturcaraan Go, pengendalian ralat adalah tugas yang sangat penting. Mengendalikan ralat dengan anggun meningkatkan kebolehbacaan kod, kebolehselenggaraan dan kestabilan. Pakej konteks bahasa Go memberikan kami cara yang sangat mudah untuk mengendalikan operasi berkaitan ralat. Artikel ini akan memperkenalkan cara menggunakan Go dan konteks secara elegan untuk pengendalian ralat dan memberikan contoh kod yang berkaitan. Pengenalan Mekanisme pengendalian ralat bahasa Go dilaksanakan dengan mengembalikan nilai ralat.

Pengenalan kepada Rangka Kerja Laravel: Pilihan Baru yang Elegan untuk Pembangunan PHP Pengenalan kepada Rangka Kerja Laravel: Pilihan Baru yang Elegan untuk Pembangunan PHP Aug 13, 2023 am 08:46 AM

Pengenalan kepada Rangka Kerja Laravel: Pilihan Baru yang Elegan untuk Pembangunan PHP Pengenalan: Sejak beberapa tahun kebelakangan ini, bidang pembangunan PHP sentiasa berkembang dan berkembang. Di antara banyak rangka kerja PHP, Laravel sudah pasti salah satu rangka kerja yang paling popular. Ia disukai oleh pembangun kerana sintaksnya yang jelas dan ringkas, ciri yang komprehensif dan prestasi cemerlang. Artikel ini akan memperkenalkan anda kepada ciri asas rangka kerja Laravel dan menunjukkan gaya pembangunan yang fleksibel dan elegan melalui contoh kod. 1. Ciri-ciri rangka kerja Laravel 1. Generasi elegan

Petua PyCharm: Mengendalikan Masalah Pembalut Kod Secara Automatik Petua PyCharm: Mengendalikan Masalah Pembalut Kod Secara Automatik Feb 23, 2024 pm 04:18 PM

Petua PyCharm: Tangani masalah pembalut baris automatik kod dengan anggun Dalam proses menggunakan PyCharm untuk pengaturcaraan Python, anda sering menghadapi masalah pembalut baris automatik kod, terutamanya apabila baris kod terlalu panjang, pembalut baris automatik boleh menjejaskan kebolehbacaan dan. keindahan kod. Bagaimana untuk menangani masalah ini dengan anggun dan menjadikan kod lebih bersih dan lebih mudah dibaca? Artikel ini akan memperkenalkan beberapa teknik untuk menangani pembalut talian automatik kod dalam PyCharm, dan menunjukkannya melalui contoh kod tertentu. 1. Menggunakan backslash() dalam Python

Mesti dibaca untuk pembangun PHP: Bagaimana untuk menggunakan pernyataan Switch dengan anggun tanpa menggunakan Break? Mesti dibaca untuk pembangun PHP: Bagaimana untuk menggunakan pernyataan Switch dengan anggun tanpa menggunakan Break? Mar 28, 2024 pm 05:48 PM

Pernyataan suis dalam bahasa PHP ialah struktur aliran kawalan yang digunakan untuk melaksanakan blok kod yang berbeza mengikut keadaan yang berbeza Biasanya, selepas setiap penyataan kes dilaksanakan, penyataan putus digunakan untuk melompat keluar daripada penyataan suis. Tetapi kadangkala, kami mahu terus melaksanakan kes seterusnya atau berbilang kes tanpa menggunakan pemecahan Artikel ini akan memperkenalkan cara menggunakan penyataan suis secara elegan dalam pembangunan PHP tanpa menggunakan penyataan putus. Pertama, mari kita lihat swit mudah

Pengendalian ralat PHP: cara mengendalikan mesej ralat dengan anggun Pengendalian ralat PHP: cara mengendalikan mesej ralat dengan anggun Aug 07, 2023 pm 10:05 PM

Pengendalian Ralat PHP: Cara Mengendalikan Mesej Ralat Secara Elegan Pengenalan: Pengendalian ralat adalah aspek yang sangat penting semasa menulis kod PHP. Sama ada anda sedang membangunkan aplikasi baharu atau mengekalkan kod warisan, anda perlu mempertimbangkan cara mengendalikan mesej ralat. Mengendalikan mesej ralat dengan betul boleh meningkatkan keteguhan dan kebolehselenggaraan aplikasi anda. Artikel ini akan memperkenalkan beberapa cara untuk mengendalikan mesej ralat PHP dengan anggun dan memberikan contoh kod. Tetapan pelaporan ralat Dalam PHP, anda boleh memutuskan cara mengendalikan mesej ralat dengan menetapkan tahap pelaporan ralat.

Bagaimana untuk menggunakan bingkai dengan elegan dalam VSCode? Bagaimana untuk menggunakan bingkai dengan elegan dalam VSCode? Mar 25, 2024 pm 09:12 PM

Dalam bidang pembangunan perisian hari ini, rangka kerja adalah salah satu alat yang sangat diperlukan untuk pembangun. Ia boleh membantu pembangun membina aplikasi dengan cepat, meningkatkan kecekapan pembangunan dan mengurangkan kos pembangunan. Sebagai editor kod yang popular dan berkuasa, Kod Visual Studio (pendek kata VSCode) digabungkan dengan pelbagai rangka kerja boleh memberikan pembangun pengalaman pembangunan yang lebih cekap dan mudah. Pilih rangka kerja yang sesuai dengan projek anda Sebelum menggunakan rangka kerja, anda perlu memilih rangka kerja yang sesuai berdasarkan keperluan projek dan susunan teknologi anda. selalunya

Pengendalian pengecualian PHP: kendalikan ralat dalam program anda dengan anggun Pengendalian pengecualian PHP: kendalikan ralat dalam program anda dengan anggun Aug 08, 2023 am 08:57 AM

Pengendalian pengecualian PHP: mengendalikan ralat dalam atur cara dengan anggun Pengenalan: Semasa proses pembangunan, pelbagai ralat pasti akan berlaku dalam atur cara. Ralat ini boleh disebabkan oleh input pengguna yang salah, ralat konfigurasi pelayan, isu sambungan pangkalan data dan banyak lagi. Untuk memastikan kestabilan dan kebolehpercayaan program, kami perlu mengendalikan ralat ini dengan betul. Mekanisme pengendalian pengecualian PHP menyediakan cara yang elegan dan cekap untuk mengendalikan ralat dalam program anda. Artikel ini akan memperkenalkan prinsip dan amalan pengendalian pengecualian PHP secara terperinci dan memberikan beberapa contoh kod.

Penggunaan PHP yang elegan: Gunakan Deployer untuk meningkatkan kecekapan pembangunan Penggunaan PHP yang elegan: Gunakan Deployer untuk meningkatkan kecekapan pembangunan Jul 12, 2023 pm 01:55 PM

Penggunaan PHP yang elegan: Gunakan Deployer untuk meningkatkan kecekapan pembangunan Dalam pembangunan web, penggunaan ialah pautan yang sangat penting. Kaedah penggunaan tradisional biasanya melibatkan operasi yang membosankan seperti menyalin fail secara manual dan melaksanakan arahan, yang bukan sahaja terdedah kepada ralat tetapi juga tidak cekap. Kini, dengan bantuan alatan penggunaan automatik, kami boleh menyelesaikan kerja penempatan dan meningkatkan kecekapan pembangunan dengan mudah. Artikel ini akan memperkenalkan alat penggunaan PHP yang elegan - Deployer, dan menunjukkan cara menggunakan alat ini untuk penggunaan automatik melalui contoh kod.

See all articles