Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Melhor usar * ao chamar muitos campos no mysql?


Observação: nomear todos os campos é, obviamente, uma prática recomendada, mas neste post discutirei apenas os benefícios de desempenho, não os de design ou manutenção.

O * sintaxe pode ser mais lenta pelos seguintes motivos:

  • Nem todos os campos são indexados e a consulta usa varredura de tabela completa. Provavelmente não é o seu caso:dificilmente é possível que todos os campos que você retorna sejam indexados com um único índice.

  • Retornar campos à direita de uma tabela que contém colunas de comprimento variável pode resultar em uma pequena sobrecarga de pesquisa:para retornar 20th campo, anterior 19 devem ser examinados e as compensações calculadas.

  • Apenas mais dados precisam ser retornados (passados ​​pela conexão).

Como você precisa de quase todos os campos, o último motivo é provavelmente o mais importante. Digamos, o description TEXT campo pode ser apenas 1 de 50 campos não usados ​​na página, mas podem ocupar 10 vezes mais espaço do que todos os outros campos juntos.

Nesse caso, é claro que será melhor nomear todos os campos e omitir os campos longos que você não precisa.