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

оптимизиране на таблици за търсене с помощта на клауза LIKE в MySQL

Трябва или да използвате пълнотекстови индекси (вие казахте, че не можете), да проектирате сами пълнотекстово търсене или да разтоварите търсенето от MySQL и да използвате Sphinx/Lucene. За Lucene можете да използвате реализация на Zend_Search_Lucene от Zend Framework или да използвате Solr.

Нормалните индекси в MySQL са B+Trees и не могат да се използват, ако началото на низа не е известно (и това е случаят, когато имате заместващ знак в началото)

Друга възможност е да приложите самостоятелно търсене, като използвате справочна таблица. Разделяне на текст в думи и създаване на таблица, която съдържа дума, record_id. След това в търсенето разделяте заявката на думи и търсите всяка от думите в референтната таблица. По този начин вие не се ограничавате до началото на целия текст, а само до началото на дадената дума (и така или иначе ще съпоставите останалите думи)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да актуализирам две таблици в едно изявление?

  2. Eval() показва персонализирана стойност, ако е нула

  3. Поддръжка на транзакции на MyIsam engine

  4. Да използвате BLOB или VARBINARY за криптирани данни в MySQL?

  5. Как мога да получа списък с потребителски акаунти с помощта на командния ред в MySQL?