12
2009
Sensibilation sur les Index
Dans l’article du jour, j’aimerai vous parler des Index dans une base de données.
Comme leur nom l’indique, les index permettent d’indexer des colonnes d’une table. Mais quelle colonne à indexer et pourquoi ? Et bien c’est là la question. Si sur votre application vous avez plusieurs fois des requêtes qui ressortent avec une clause ‘WHERE’ ou ‘INNER JOIN’ faisant référence au même champ, plusieurs fois, il est conseillé de l’indexer.
Pourquoi ? Et bien tout simplement pour une raison d’optimisation. Votre base de données va stoker en mémoire des tables d’index contenant tous ces index. Au lieu d’aller gratter sur le disque-dur du serveur et ainsi le mettre à genoux si on se retrouve avec 1000 clients au même moment, la base de données va regarder en mémoire la table d’index et ressortir votre résultat directement.
Attention tout de même, d’une part, vos select seront optimisés (après les premières requêtes) mais en contrepartie, les enregistrements seront beaucoup plus long car au lieu d’inscrire votre enregistrement sur une table, il sera inscrit sur votre table ciblée mais aussi sur les différentes tables index. Donc réfléchissez bien à cela.
L’astuce consiste à droper les index de la table avant l’enregistrement et à les rajouter après. Ca ne modifiera rien du côté de votre table. Mais vous gagnerez quelques secondes voir quelques heures, selon le nombre d’index que contient votre table, lors de l’enregistrement.
Attention aussi, les clés étrangères ne sont pas indexées, donc cherchez-les bien et indexez-les. C’est l’une des premières causes de ralentissement d’un serveur de bases de données.
Tout ceci je l’ai appris en cours durant la semaine et j’avais envi de vous sensibiliser sur les indexes. C’est l’une des premières causes de ralentissement d’une base de données car la plupart des personnes oublient leur utilité.
Articles Connexes
Laisser un commentaire
Catégories
- Actualités (11)
- Android (5)
- Bases de Données (4)
- Développement (1)
- PasteQR (2)
- PHP (8)
- Systèmes et Réseau (5)
- Technologies Web (5)
- Tests (2)
- Zend Framework (30)
Commentaires récents
- (@Fritte7) (@Fritte7) dans PasteQR passe en 1.1.0
- roux dans ZendX Jquery Dialog
- Fritte7 dans Gérer des évènements dans une listview.
- Fierfeu dans Introduction à Zend Framework 2.0
- Christophe B. dans Gérer des évènements dans une listview.
Mots-Clefs
Active Directory AJAX Android Apache2 APC Bootstrap Chrome Configuration CSS Eclipse Firefox Google html HTTP Installation Internet Internet Exporer Java Javascript JQuery JQuery UI Linux Mémoire Mac MySQL Navigateur Opera PDO Pear Phing PHP Safari SGBD SMTP SQL Ubuntu View Helper Windows Server XML Zend Cache Zend DB Zend Form Zend Framework ZendX ZF 2.0
WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.

Publié par Throrïn




