Comment accélérer les requêtes sur les tables MySQL extrêmement grands

July 31

Comment accélérer les requêtes sur les tables MySQL extrêmement grands


MySQL est une application logicielle de base de données distribué gratuitement pour les sites web. Comme une table dans une base de données augmente, certaines des requêtes peuvent nuire à la performance sur le site. Pour cette raison, il est important de modifier les requêtes de base de données pour les meilleures performances. Il y a quelques façons d'améliorer les performances des requêtes MySQL. Ces ajustements comprennent des modifications aux tables MySQL et les instructions de requête. Ces réglages peuvent accélérer les performances de plusieurs secondes ou minutes.

Instructions

1 Créer un index sur la table utilisée dans la requête MySQL. Un index aide les colonnes base de données de tri comme une priorité. Les index peuvent accélérer les requêtes de plusieurs minutes. Pour créer un index sur votre table, utilisez la syntaxe suivante:
créer un index <nom_index>
sur <table_name> <column_name> "
Remplacer le "<nom_index>" avec un nom unique de votre choix. Les noms de tables et colonnes sont la table et de la colonne que vous interrogez de votre code de MySQL.

2 Réaménager votre requête de table pour rechercher sur les champs de table qui ont été indexés. Par exemple, si vous avez un index sur "customerid," une requête devrait être peaufiné à partir de:
sélectionnez customer_name du client où last_name = 'joe'
à une requête qui utilise le champ customerid tels que:
sélectionnez customer_name du client où customerid = 1

3 Utiliser joint plutôt que des déclarations sous-requête. Rejoindre une table est plus rapide qu'une instruction subselect. En outre, les jointures doivent être effectuées sur les champs de table qui ont des index. Un exemple de la sous-sélection est la suivante:
sélectionnez customer_name du client où
prenom = (sélectionnez prenom de l'ordre où order.customerid = Client.IDClient)

Vous pouvez modifier cette requête pour inclure une jointure en utilisant le code suivant:
sélectionnez customer_name du client
ordre de jointure sur Client.IDClient = order.orderid
où prenom = 'Joe'

4 Archivez les anciens enregistrements à une table séparée. Si vous avez des très anciennes données dans les tableaux, vous pouvez les exporter vers d'autres tables ou des fichiers de sauvegarde. Le code à exécuter ce processus est déterminé par les contraintes de table pour votre base de données. Cependant, un exemple de requête pour exporter des données est ci-dessous:
insérer dans archive_table
select * from client où create_date <1/1/2009 '


          

Post a comment: