Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Matias Rezende

Desempenho consulta LIKE ou mais campos

Recommended Posts

Pessoal, boa noite...

 

Tenho uma dúvida... Qual seria a forma mais rápida?

 

Tabela

id nome tag

1 foto1.jpg azul, verde, laranja, rosa

2 foto2.jpg verde, laranja, rosa

 

SELECT * FROM tabela WHERE tag LIKE '%laranja%'

 

OU

 

Tabela

id nome tag

1 foto1.jpg azul

2 foto1.jpg verde

3 foto1.jpg laranja

4 foto1.jpg rosa

5 foto2.jpg verde

6 foto2.jpg laranja

7 foto2.jpg rosa

 

SELECT * FROM tabela WHERE tag = 'laranja'

 

A dúvida seria mais ou menos assim... Consulta com LIKE em menos registros ou consulta sem LIKE com mais registros

 

Agradeço desde já

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mesmo tendo 5, 6 vezes mais registros na tabela? Ali foi só um exemplo pra explicar a dúvida...

 

Vou explicar o que quero fazer, de repente alguém tem outra idéia melhor...

 

Quero fazer uma galeria de fotos com tag... Seria para uma empresa de decoração para bebês. Eu teria em cada foto algo como 7 ou 8 tags.

 

O que vcs acham? Seria melhor fazer como o giesta falou? Ou ainda (estava pensando nesta madrugada nesta hipótese) fazer 3 tabelas.

 

1 fotos

1 tags

1 relacione fotos com tags

 

Qual seria a melhor saída?

 

Agradeço desde já a ajuda

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

talvez essa sua alternativa de criar as 3 tabelas seja melhor, jah que, você buscaria pelo código da tag na tabela tag e com esse código buscaria as fotos que se relacionam com ela...

apesar que depende como você vai implementar isso..

talvez com subquery pode ficar mais lento...

Compartilhar este post


Link para o post
Compartilhar em outros sites

alem de ser mais rapido é o mais correto a se fazer tambem

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT * FROM tabela WHERE tag = 'laranja'

É a forma mais rápida como citou o amigo.

 

Pois a consulta irá diretamente aos registros da cláusula WHERE, não precisando assim processar uma varredura pelo LIKE agilizando a consulta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.