sql >> Databáze >  >> RDS >> Mysql

FULLTEXTOVÉ vyhledávání MySQL v>1 tabulce

Připojte se po filtrech (např. připojte se k výsledkům), nezkoušejte se připojit a poté filtrovat.

Důvodem je, že ztratíte použití svého fulltextového indexu.

Upřesnění v reakci na komentář:Slovo join zde používám obecně, nikoli jako JOIN ale jako synonymum pro sloučení nebo sloučení.

V podstatě říkám, že byste měli použít první (rychlejší) dotaz nebo něco podobného. Důvodem, proč je rychlejší, je to, že každý z poddotazů je dostatečně přehledný, že databáze může použít fulltextový index této tabulky k velmi rychlému výběru. Spojení dvou (pravděpodobně mnohem menších) sad výsledků (pomocí UNION ) je také rychlý. To znamená, že celá věc je rychlá.

Pomalá verze končí procházením spousty dat a testováním, zda je to to, co chcete, spíše než rychle získávat data a prohledávat pouze řádky, které pravděpodobně skutečně chcete.



  1. Migrace DB pomocí průvodce NextForm Multi-Table Wizard

  2. Jak používat INNER JOIN v SQL

  3. Jak ADD_MONTHS() funguje v MariaDB

  4. Jak nahradit vzor regulárního výrazu v MySQL