Vous avez défini plusieurs index sur des tables. Avez-vous déjà pensé à la façon dont l'indexation fonctionne?
Simplement un index est une table temporaire dans dbase qui conserve une copie de la colonne indexée triée. Lorsqu'une nouvelle ligne est insérée, dBase met un nouveau record dans le tableau de température au bon endroit donc un indice a les résultats suivants:
A) Avantages:
1) Augmentation de la vitesse de recherche, car la table est trié dans une table temporaire basée sur le champ indexé (s)
B) Inconvénients:
1) Ralentissez (Create, Update, Delete) car mêmes actions doivent être effectuées sur des tables temporaires en cas de besoin.
2) La taille de la base de données augmente en raison de l'utilisation de tables temporaires.
Conclusion:
L'indexation est un compromis de grande taille db et insertion plus lente et rapide recherche en grande quantité de données. Utilisez l'indexation sur les champs que vous appelez fréquemment les critères de recherche (WHERE) et supprimez les index supplémentaires pour optimiser votre conception db.
ah je vois, donc si vous utilisiez des connexions persistantes sur un serveur occupé, nous pourrions voir la valeur augmenter à une grande valeur, mais il n'y a rien à craindre? – Tom
dépend de la façon dont les tables sont créées. créer une table temporaire 'A' dans une connexion est très bien. les ré-utilisations ultérieures de la connexion réutiliseront simplement la même table. mais si vous les générez avec des noms aléatoires, vous fuirez ces tables temporaires jusqu'à ce que la connexion soit fermée et que mysql soit nettoyé. –
Fuite où, sur le disque, en mémoire? – Tom