-
MySQL bestemmer, om en forespørgsel er en 'big select' baseret på værdien af 'max_join_size'. Hvis forespørgslen sandsynligvis skal undersøge mere end dette antal rækker, vil den betragte det som et 'stort udvalg'. Brug 'vis variabler' for at se værdien af den maksimale joinstørrelse.
-
Jeg tror, at indeksering og især en god where-klausul vil forhindre dette problem i at opstå.
-
SQL_BIG_SELECTS bruges til at forhindre brugere i ved et uheld at udføre alt for store forespørgsler. Det er okay at sætte det til TIL i mysql.cnf eller bruge kommandolinjeindstillingen ved opstart.
-
Du kan indstille SQL_BIG_SELECTS i my.cnf eller ved serverstart. Det kan også indstilles på sessionsbasis med
SET SESSION SQL_BIG_SELECTS=1
. -
Ikke hvad jeg kan komme i tanke om. Jeg ville bare tjekke din forespørgsel for at sikre mig, at du virkelig skal bruge den. Vores servere har det slået til som standard, og max_join_size er meget stor.