MySQL volle teks soek en Mysql indekse

Image representing MySQL as depicted in CrunchBase

'n geruime tyd gelede het ek geskryf oor MySQL Volledige Teks Soek 🙂 Vandag het ek het'n baie interessante ervaring met een aansoek. In die Algemeen, die aansoek soektogte vir die resultate dat geen ander tafel. Kies een van die belangrikste en een sub kies in die WAAR'n deel van die navraag. Algehele, die geraamte

SELECT DISTINCT (
`field`
)
FROM `table1`
WHERE `someID` =44
AND `firsTextField` NOT
IN (

SELECT DISTINCT (
`secondTextField`
)
FROM `table2`
WHERE `otherID` =44
)

In die Algemeen, 'n eenvoudige soektog. Ek het dit geskryf vir 30 speel met haar en slotte die masjien. Na'n lang tyd en wag geduldig met my hand of net ~43 sec . Ek spoeg uit die resultaat lol . Pfff waansin. Ek gaan in die kar om te kyk na die CPU besig byna normale by die res. Skok en afgryse. Ek loop die soektog weer met dieselfde resultaat. Fok WTF. Uit te reik die verduidelik van die navraag en al lysna – die tweede veld secondTextField net volledige teks soek sonder indeks, en daar is'n skinkbord en beskeie oor 35K rye. Wat moet lees – volledige teks soek is nie'n aanduiding. Dit is reeds duidelik dat die probleem vinnig

ALTER TABLE `links` ADD INDEX ( `linkUrlID` ) 

En jou dinge het in plek Navraag het 0.0005 sec 😀

Wees versigtig hoe jy indeks hang af van die marginale koers versoek.

p.s Като цяло аз съм си крив за горната ситуация не само защото липсва индекс ами защото не ползва full text search метода 😀

Versterk deur Zemanta

Laat'n Antwoord

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *

Die Anti-SPAM *