12
votes

Est-ce que MySQL 5.0 Index Index Null Valeurs?

Je me rends compte que la question exacte a été posée avant le débordement de la pile avec seulement une réponse vaguement concluante: Lien

Alors c'est à nouveau ici.

Tableau A: a une colonne entière qui est nullable, avec un index. Requête: xxx

est un indice être utilisé ou mysql effectuera une numérisation de table complète jusqu'à ce qu'elle ait trouvé 10 entrées?


0 commentaires

4 Réponses :


4
votes

Le seul moyen de savoir que, à coup sûr dans votre cas spécifique consiste à exécuter "Expliquer la sélection" sur votre requête.

Cela dépend vraiment du nombre de nulls dans votre table par rapport au nombre total de lignes; Si les statistiques de la table ont été mises à jour, etc.


0 commentaires

3
votes

Vous devez analyser la requête. En général, cela dépend du pourcentage relatif de nulls aux valeurs. Si une majorité des entrées de cette colonne entière est NULL, qu'elle le saura probablement.

D'autre part, si seulement 10% (par exemple) sont null , il (ou devrait) utiliser l'index.


2 commentaires

Merci Monsieur. J'avais juste besoin d'un examen de cela. Et j'aimerais ajouter pour quiconque qui vient à cette page à l'avenir que votre réponse est la meilleure.


Merci. Très content que c'était utile.



7
votes

Je pense que cela devrait être utile:

http://dev.mysql.com/doc /refman/5.0/fr/mysql-indexes.html

Une recherche en utilisant col_name est NULL utilise des index si col_name est indexé.


0 commentaires

0
votes

Il y a un moyen simple de le savoir.

Vous pouvez exécuter cette commande Afficher l'index du nom de Tablename et il retournera quelques résultats d'analyse que l'on appelle Null.

Si NULL est égal à Oui, votre index contient NULL

http://dev.mysql.com/doc/ Refman / 5.1 / fr / show-index.html


0 commentaires