sql >> Database >  >> RDS >> Mysql

MySQL FULLTEXT Zoeken in>1 tabel

Doe mee na de filters (bijv. voeg je bij de resultaten), probeer niet mee te doen en filter dan.

De reden is dat je het gebruik van je fulltext index verliest.

Verduidelijking naar aanleiding van de opmerking:ik gebruik het woord join in het algemeen hier, niet als JOIN maar als synoniem voor samenvoegen of combineren.

Ik zeg in wezen dat je de eerste (snellere) query moet gebruiken, of iets dergelijks. De reden dat het sneller is, is dat elk van de subquery's voldoende overzichtelijk is zodat de database de volledige tekstindex van die tabel kan gebruiken om de selectie zeer snel uit te voeren. De twee (vermoedelijk veel kleinere) resultatensets samenvoegen (met UNION ) is ook snel. Dit betekent dat alles snel gaat.

De langzame versie beëindigt het doorlopen van veel gegevens om te testen of het is wat je wilt, in plaats van de gegevens snel te doorzoeken en alleen de rijen te doorzoeken die je waarschijnlijk echt wilt.



  1. php:Bewaar afbeelding in Mysql blob, goed of slecht?

  2. Tekortkomingen van mysql_real_escape_string?

  3. Proberen opgeslagen procedures te 'aanroepen' met CodeIgniter

  4. Geneste zoekopdrachten vermijden