Bagaimana untuk Menyelesaikan Ralat \'PILIH Akan Memeriksa Lebih Daripada MAX_JOIN_SIZE Baris\' dalam MySQL?

DDD
Lepaskan: 2024-10-23 18:21:27
asal
341 orang telah melayarinya

How to Resolve

MySQL: Menyelesaikan "The SELECT Akan Memeriksa Lebih Daripada MAX_JOIN_SIZE Rows" Ralat

Dalam MySQL, mesej ralat "The SELECT akan memeriksa lebih banyak lagi daripada MAX_JOIN_SIZE baris" menunjukkan bahawa pertanyaan SELECT menganggarkan untuk memeriksa bilangan baris dalam gabungan lebih besar daripada saiz maksimum yang dibenarkan oleh MAX_JOIN_SIZE pembolehubah sistem. Ralat ini biasanya berlaku apabila bekerja dengan set data yang besar atau operasi gabungan yang kompleks.

Untuk menyelesaikan isu ini, anda boleh mengoptimumkan pertanyaan SQL anda dengan menggunakan teknik berikut:

  • Set SQL_BIG_SELECTS=1: Untuk pengguna PHP, tetapkan bendera SQL_BIG_SELECTS=1 sebelum melaksanakan pertanyaan utama. Ini akan membolehkan MySQL mengendalikan saiz cantuman yang lebih besar.
  • Tingkatkan MAX_JOIN_SIZE: Jika pertanyaan masih melebihi saiz maksimum, tingkatkan nilai pembolehubah MAX_JOIN_SIZE. Anda boleh melakukan ini secara dinamik dalam pernyataan SQL anda menggunakan sintaks SET SQL_MAX_JOIN_SIZE=#.
  • Optimalkan klausa WHERE: Pastikan klausa WHERE anda menapis baris yang tidak diingini dengan berkesan dan syarat gabungan adalah khusus.
  • Gunakan cantuman diindeks: Cipta indeks pada lajur yang digunakan dalam keadaan gabungan untuk meningkatkan prestasi pertanyaan.

Contoh dengan PHP:

<code class="php">$mysqli = new mysqli("localhost", "root", "password", "db");

$mysqli->query("SET SQL_BIG_SELECTS=1");  // Set it before the main query

$results = $mysqli->query("SELECT a, b, c FROM test");
while ($row = $results->fetch_assoc()) {
    echo '<pre class="brush:php;toolbar:false">';
    print_r($row);
    echo '
'; }
Salin selepas log masuk

Ingat untuk melaraskan hos, nama pengguna, kata laluan dan nama pangkalan data agar sepadan dengan persekitaran khusus anda.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'PILIH Akan Memeriksa Lebih Daripada MAX_JOIN_SIZE Baris\' dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!