Question

indexe sur une colonne varchar faire la course de requête plus lente? Je peux faire ce soit int. et je ne dois pas faire la comparaison LIKE%.

Était-ce utile?

La solution

  

indexe sur une colonne varchar faire la course de requête plus lente?

Non, il ne fonctionne pas.
Si l'optimiseur décide d'utiliser de l'index, la requête fonctionnera plus rapidement. INSERTs / UPDATEs / DELETEs sur cette table sera plus lente, mais pas assez probablement remarquer.

  

Je ne ai pas besoin de faire la comparaison LIKE%

Sachez que l'utilisation:

LIKE '%whatever%'

... sera pas utiliser un index, mais la volonté suivante:

LIKE 'whatever%'

La clé est wildcarding le côté gauche de la chaîne signifie que l'index de la colonne ne peut pas être utilisée.

Sachez également que limite MySQL la quantité d'espace mis de côté pour index - ils peuvent être jusqu'à 1000 octets pour MyISAM (767 octets pour InnoDB) tables.

Autres conseils

Si vous pouvez remplacer votre colonne varchar avec un entier (qui je pense est ce que votre hinting at) Ensuite, un index, y compris la colonne entière se produira mieux que la colonne varchar pour quelques raisons.

  1. La taille de l'index sera plus petit et impliquent moins de pagination.
  2. La comparaison des entiers est beaucoup mieux que varchar.

L'indexation ne fait pas la requête plus lente, la taille de la base de données juste obtenir plus, alors allez-y et lui donner un essai.

Vous devriez pouvoir obtenir de meilleures performances sur les lignes mais son allant chercher dépend de vos données, vos requêtes.

Vous n'allez faire vos requêtes plus lentement par l'indexation. Si vous pouvez faire la colonne d'un type int, je recommande de faire de sorte que la plupart des SGBDR de recherche peuvent plus rapidement que varchars de int

Il y a des problèmes de performance en matière d'inserts. Je peux vous dire que pour que l'insertion dans une grande table qui a un index sur une colonne varchar peut être très lent. (Jusqu'à 50x)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top