7.6. Limite e deslocamento

limite e deslocamento permitem-lhe obter apenas uma parte das linhas que são geradas pelo resto da consulta:

Se for dada uma contagem de limites, não mais do que muitas linhas serão devolvidas (mas possivelmente menos, se a própria consulta produzir menos linhas). Limitar tudo é o mesmo que omitir a cláusula limite.

OFFSET diz para ignorar tantas linhas antes de começar a devolver linhas. O OFFSET 0 é o mesmo que omitir a cláusula de OFFSET., Se ambos os lados e limite aparecerem, então as linhas de deslocamento são ignoradas antes de começar a contar as linhas limite que são devolvidas.

ao usar o LIMIT, é importante usar uma ordem por cláusula que restringe as linhas do resultado em uma ordem única. Caso contrário, você vai obter um subconjunto imprevisível das linhas da consulta. Você pode estar pedindo a décima até a vigésima filas,mas a décima até a vigésima em que ordem? O pedido é desconhecido, a menos que você especificou ordem por.,

o Optimizador da consulta leva o limite em conta ao gerar um plano de pesquisa, por isso é muito provável que você obtenha planos diferentes (rendendo ordens de linhas diferentes) dependendo do que você dá para o limite e deslocamento. Assim, o uso de valores de limite/deslocamento diferentes para selecionar diferentes subconjuntos de um resultado da consulta dará resultados inconsistentes a menos que você imponha uma ordem de resultado previsível com ordem por. Isto não é um bug; é uma consequência inerente do fato de que o SQL não promete entregar os resultados de uma consulta em qualquer ordem particular, a menos que a ordem por seja usada para restringir a ordem.,

As linhas ignoradas por uma cláusula de compensação ainda têm de ser computadas dentro do servidor; portanto, um grande deslocamento pode ser ineficiente.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *