Indici di Mysql e MySQL Full Text Search

Image representing MySQL as depicted in CrunchBase

Qualche tempo fa ho scritto su MySQL Full Text Search 🙂 Oggi ho avuto un interessante esperienza con una query. In generale, la query è alla ricerca di risultati che mancano un'altra tabella. A selezionare un sub con e selezionare nella parte dove l'applicazione. In generale, lo scheletro ed è

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

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

In generale, una semplice richiesta. L'ho scritto per 30 SEC liberarla e bloccato la macchina. Dopo un lungo e pazientemente in attesa da parte mia o solo ~ 43 sec . Sputare il mio punteggio lol . Pfff Madhouse. Inserire nella macchina che dall'aspetto CPU normalmente viene caricata quasi in condizione di inattività. Shock e awe. Eseguire la query ancora ancora lo stesso risultato. Cazzo WTF. Eseguire la query e spiegare tutto io – il secondo campo è solo secondTextField ricerca full-text Nessun indice, e c'è un vassoio modesto di circa 35 k linea. Cosa leggere – Indice di ricerca full-text non è. È già chiaro il problema reale rapidamente uno

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

E le cose si posti che query ha preso 0.0005 😀 sec

Stare attento come metti gli indici di essi dipende il tasso marginale di applicazione.

p. s nel suo complesso mi sbaglio circa la situazione di cui sopra non solo perché manca un indice perché non si utilizza testo completo ricerca metodo 😀

Arricchito da Zemanta

lascia un commento

L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *

Anti Spam *