Usar LIKE é mais rápido do que usar = em SQL porque o LIKE usa um padrão de correspondência ao invés de um valor exato, o que significa que o SQL não precisa de procurar exatamente o que está sendo procurado. Por exemplo, se você estiver procurando por todas as linhas que contêm a palavra "teste", você pode usar LIKE para procurar por todas as linhas que contêm a palavra "teste", em vez de usar o = para procurar por cada linha com exatamente "teste". Isso significa que o SQL precisa percorrer menos linhas para encontrar o que está procurando, o que o torna mais rápido.
Agora entendi o que quis dizer. Nesse exemplo que você deu, faz sentido sim usar like
, concordo. Mas esse é um caso, há varios que não faz sentido usar like
. Ou seja, é mais rápido em certos casos, nao dá pra sempre usar like
, como sugeriu. É necessário analisar o problema.
E sobre percorrer mais ou menos linhas, ambos vão varrer todas as linhas do banco, não há diferença, como mostrei usando o comando explain
. Isso ocorre porque o banco está procurando todos as linhas que satisfazem o where
, não somente uma linha, então precisa procurar em todos as linhas do banco.
Entende? Obrigado por explicar!