MySQL αναζήτησης πλήρους κειμένου και Mysql ευρετήρια

Image representing MySQL as depicted in CrunchBase

Πριν από λίγο καιρό έγραψα για MySQL αναζήτησης πλήρους κειμένου 🙂 Σήμερα είχα μια πολύ ενδιαφέρουσα εμπειρία με ένα ερώτημα. Σε γενικές γραμμές, το ερώτημα είναι ψάχνει για αποτελέσματα που λείπουν έναν άλλο πίνακα. A Επιλέξτε μία υπο του Hôtel και στο μέρος όπου η εφαρμογή. Σε γενικές γραμμές, ο σκελετός και είναι

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

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

Σε γενικές γραμμές, μια απλή αίτηση. Έγραψα για 30 SEC να απελευθερώσουν και να κολλήσει το μηχάνημα. Μετά από μια μακρά και περιμένει υπομονετικά την πλευρά μου, ή απλά ~ 43 δευτ. . Σούβλα μου Βαθμολογία lol . Pfff φρενοκομείου. Εισάγετε στο μηχάνημα αναζητούν CPU φορτώνεται κανονικά σχεδόν σε κατάσταση αδράνειας. Σοκ και δέος. Εκτελέστε το ερώτημα παραμένει και πάλι το ίδιο αποτέλεσμα. Σκατά WTF. Εκτελέστε το ερώτημα και να εξηγήσει τα πάντα εγώ – το δεύτερο πεδίο είναι μόνο secondTextField Αναζήτηση πλήρους κειμένου Κανένα δείκτη, και υπάρχει ένα μικρό δίσκο με περίπου 35 k γραμμή. Τι πρέπει να διαβάσει – ευρετήριο αναζήτησης πλήρους κειμένου δεν είναι. Είναι ήδη σαφές το πρόβλημα πραγματικά γρήγορα

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

Και πράγματα γύρισε μέρη ερώτημα πήρε 0.0005 SEC 😀

Να είστε προσεκτικοί πώς να βάλετε τους δείκτες τους εξαρτάται από το κατά οριακό επιτόκιο της εφαρμογής.

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

Ενισχυμένη από Zemanta

Αφήνω μια απάντηση

Διεύθυνση ηλεκτρονικού ταχυδρομείου σας δεν θα δημοσιευθεί. Υποχρεωτικά πεδία επισημαίνονται *

Αντισπαμικό *