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

MySQL ПЪЛЕН ТЕКСТ Търсене в>1 таблица

Присъединете се след филтрите (напр. присъединете се към резултатите), не се опитвайте да се присъедините и след това филтрирайте.

Причината е, че губите употребата на вашия пълен текстов индекс.

Пояснение в отговор на коментара:Тук използвам общо взето думата присъединяване, а не като JOIN но като синоним на сливане или комбиниране.

По същество казвам, че трябва да използвате първата (по-бърза) заявка или нещо подобно. Причината да е по-бърз е, че всяка от подзаявките е достатъчно незатрупана, за да може db да използва индекса на пълния текст на тази таблица, за да извърши избора много бързо. Обединяване на двата (вероятно много по-малки) набора от резултати (с UNION ) също е бърз. Това означава, че всичко е бързо.

Бавната версия преминава през много данни, като ги тества, за да видите дали това е това, което искате, вместо бързо да извлича данните и да търси само в редове, които вероятно наистина искате.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Синхронизиране на данни между MySQL и MongoDB

  2. MySQL – Вземете последната цена на заявката, като използвате SHOW STATUS КАТО „Last_Query_Cost“

  3. Грешка в MySQL 1170 (42000):колона BLOB/TEXT, използвана в спецификацията на ключа без дължина на ключа

  4. Как да получите текущия пореден номер на Auto_Increment за MySQL / MariaDB таблица

  5. Използване на SQL JOIN и COUNT