Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Menyelesaikan Ralat \"PILIH Akan Memeriksa Lebih Daripada MAX_JOIN_SIZE Baris\" dalam MySQL?

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

DDD
DDDasal
2024-10-23 18:21:27342semak imbas

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 '
'; }

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!

Kenyataan:
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