Mysql
 sql >> база данни >  >> RDS >> Mysql

оптимизирайте mysql заявката с оператор LIKE за 10k записа

Една оптимизация е тази в exact случай, не е необходимо да използвате LIKE (трябва да го използвате само със заместващия знак - %).

Друго нещо, което можете да направите, за да направите нещата по-бързи, е да добавите ИНДЕКС към полетата, в които ще търсите.

Освен това, само ако използвате MyISSAM като ваша машина за съхранение (за тази таблица), можете да използвате пълно текстово търсене така

SELECT * FROM normal WHERE MATCH (заглавие, тяло) СРЕЩУ ('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%' )

изглежда носи много малка стойност за целия процес.

Надявам се това да помогне.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Правилно ли използвам Java PooledConnections?

  2. Актуализиране на колоната с времеви отпечатъци в приложение или база данни?

  3. MySQL, обединяващ еквивалент за празни стойности?

  4. Използването на IN с подзаявка не използва индекс

  5. Миграции на бази данни при производство на django