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

otimizar a consulta mysql com o operador LIKE para 10k registros


Uma otimização é que no exact caso, você não precisa usar LIKE (você só deve usá-lo com o curinga - %).

Outra coisa que você pode fazer para tornar as coisas mais rápidas é adicionar um ÍNDICE aos campos que você vai pesquisar.

Além disso, somente se você estiver usando o MyISSAM como seu mecanismo de armazenamento (para essa tabela), poderá usar a pesquisa de texto completo assim

SELECIONE * DE normal WHERE MATCH(título, corpo) AGAINST ('Queried_string')
first_name LIKE '%S%'
OR last_name LIKE '%S%'
OR phone_number LIKE '%S%'
OR mobile_number LIKE '%S%'
OR email_address LIKE '%S%'
OR address LIKE '%S%'
OR organization LIKE '%S%'
OR other LIKE '%S%'
OR sector LIKE '%S%'
OR designation LIKE '%S%' )

parece estar trazendo muito pouco valor para todo o processo.

Espero que isto ajude.