-
O MySQL determina se uma consulta é ou não uma 'grande seleção' com base no valor de 'max_join_size'. Se for provável que a consulta precise examinar mais do que esse número de linhas, ela a considerará uma 'grande seleção'. Use 'show variables' para visualizar o valor do tamanho máximo da junção.
-
Acredito que a indexação e, em particular, uma boa cláusula where impedirá que esse problema ocorra.
-
SQL_BIG_SELECTS é usado para evitar que os usuários executem acidentalmente consultas excessivamente grandes. Não há problema em configurá-lo como ON no mysql.cnf ou usando a opção de linha de comando na inicialização.
-
Você pode definir SQL_BIG_SELECTS em my.cnf ou na inicialização do servidor. Também pode ser definido por sessão comSET SESSION SQL_BIG_SELECTS=1
.
-
Não que eu possa pensar. Eu apenas verificaria sua consulta para ter certeza de que você realmente precisa usá-la. Nossos servidores estão ativados por padrão, e max_join_size é muito grande.