MySQL Full textové vyhledávání a Mysql indexy

Image representing MySQL as depicted in CrunchBase

Před časem jsem psal o MySQL Full textové vyhledávání 🙂 Dnes jsem měl, že velmi zajímavou zkušenost s dotazem. Obecně platí je dotaz hledají výsledky, kterým chybí jiné tabulky. A vyberte sub osnovne a vyberte v části kde aplikace. Obecně platí, kostra a je

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

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

V obecné, prosté žádosti. Napsal jsem ji pro 30 SEC jí pustil a strčil stroj. Po dlouhé a trpělivě čekají na mé straně, nebo jen ~ 43 sekund . Plivat mé skóre lol . Pfff blázinec. Zadejte počítač, který hledá CPU je obvykle načten téměř v klidovém stavu. Šok a hrůza. Spusťte dotaz znovu stále stejného výsledku. Seru na WTF. Spusťte dotaz a vysvětlit vše, co jsem – druhé pole je pouze secondTextField Full-textové vyhledávání Žádný index, a tam je skromný zásobník asi 35 k řádku. Co číst – Fulltextové hledání index není. Je to již jasné, problém rychle jedna

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

A věci se místa, dotazu 0.0005 s 😀

Dávejte pozor na to, jak umístit indexy z nich závisí na vašem mezní míra aplikace.

p.s Като цяло аз съм си крив за горната ситуация не само защото липсва индекс ами защото не ползва fulltextové vyhledávání метода 😀

Umocněn Zemanta

zanechte odpověď

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

Anti Spam *