Sobre:
Utilize o operador LIKE ao invés do operador = para evitar que o banco de dados procure linha por linha.
Acredito que isso está errado. Em ambos os operadores o banco de dados vai procurar linha por linha. Além disso, é mais rápido verificar a igualdade do que buscar por um padrão em uma string, que é o que operador LIKE
faz.
Para comprovar, basta executar as duas queries seguintes no PostgreSQL:
explain
select item
from tabela
where item like 'xxx';
explain
select item
from tabela
where item = 'xxx';
O comando pede para o banco explicar o que será feito para buscar o dado, em ambos os casos ele retorna algo como "Seq Scan on ...", isto é, irá fazer uma busca sequencial em todos os items.
OBS: Caso a coluna buscada contenha indíces o resultado é um pouco diferente.
Sobre o comando explain.
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.