QCM MySQL Corrigé – Optimisation de requêtes

QCM sur les Base de données et MYSQL avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses comprennent divers sujets pour réussir votre test.

 

1. Pour vérifier comment MySQL exécutera une requête SELECT, quelle instruction est utilisée?

A TELL

B SHOW

C DISPLAY

D EXPLAIN

D
Dans MySQL en exécutant l’instruction EXPLAIN, MySQL affiche des informations sur l’exécution d’une requête SELECT sans l’exécuter. Il est préfixé avec la requête.
 

 

2. Pour effectuer l’analyse des valeurs clés par le serveur, l’instruction utilisée est ______?

A ANALYZE KEYS

B ANALYZE TABLE

C PERFORM ANALYSIS

D PERFORM TABLE ANALYSIS

B
Dans MySQL, pour les tables MyISAM et InnoDB, il peut être demandé au serveur d’effectuer une analyse des valeurs clé en exécutant l’instruction ANALYZE TABLE. Cela aide à optimiser des requêtes.
 

 
La commande ci-dessus analyse et stocke la clé de la table. Durant l’analyse, la table est verrouillée en lecture.

 

3. Le paramètre « optimizer_prune_level » est défini par défaut?

A Vrai

B Faux

A
Le paramètre « optimizer_prune_level » est activé par défaut. Cette variable indique à l’optimiseur d’ignorer certains plans en fonction des estimations du nombre de lignes accédées pour chaque table.
 

 
Cette option peut être désactivée (optimizer_prune_level = 0)

 

Différence entre GRANT et REVOKEDifférence entre GRANT et REVOKELa principale différence entre GRANT et REVOKE est que GRANT donne un privilège à l’utilisateur alors que REVOKE reprend le privilège accordé à l’utilisateur. SQL…Lire plus
4. Quelle variable système indique jusqu’où l’optimiseur doit-il chercher, dans le reste de chaque plan incomplet, pour déterminer s’il doit être étendu davantage?

A optimizer_prune_level

B optimizer_search_depth

C optimizer_search

D optimizer_prune

B
Dans MySQL, la variable système « optimizer_search_depth » indique jusqu’où l’optimiseur doit chercher pour évaluer s’il doit être étendu davantage.
 

 
La valeur par défaut est 62. Le planificateur génère plusieurs plans, mais parfois, il génère également un plan incomplet.

Si nous définissons une valeur plus élevée (max 63), l’optimiseur de requêtes tente d’évaluer tous les plans incomplets dont l’exécution prend plus de temps. Si nous définissons une valeur inférieure, l’optimiseur de requêtes peut ignorer quelques plans.

 

5. Quelle variable système indique à l’optimiseur d’ignorer certains plans en fonction des estimations du nombre de lignes accédées pour chaque table?

A optimizer_prune_level

B optimizer_search_depth

C optimizer_search

D optimizer_prune

A
La variable optimizer_prune_level indique à l’optimiseur d’ignorer certains plans en fonction des estimations du nombre de lignes accédées pour chaque table.
 

 

6. Quels sont les résultats des requêtes suivantes si ‘col’ est une colonne déclarée INTEGER ?
SELECT * FROM ma_table WHERE col = '8';
SELECT * FROM ma_table WHERE col = 8;

A Les deux sont identiques

B Les deux sont différents

C La première requête produit une erreur

D La deuxième requête produit une erreur

A
La première requête appelle une conversion de type. Cela implique une certaine dégradation des performances.

 

7. Laquelle des clauses WHERE suivantes est la plus rapide?
WHERE col * 2 < 4
WHERE col < 4 / 2

A La première requête

B La deuxième requête

C Les deux ont la même vitesse

D Dépend du système d’exploitation

B
Pour la première requête, MySQL récupèrerait la valeur de la colonne ‘col’ pour chaque ligne, multiplierait par 2, puis compare le résultat. Dans ce cas, aucun index ne peut être utilisé et donc il est plus lent.

 

Différence entre HAVING et WHEREDifférence entre HAVING et WHERELes clauses WHERE et HAVING sont principalement utilisées dans des requêtes SQL, elles permettent de limiter une résultat en utilisant un prédicat spécifique. La principale…Lire plus
8. Laquelle de ces comparaisons est lente?

A INT/INT

B INT/BIGINT

C BIGINT/BIGINT

D Tous sont de même vitesse

B
En comparant les colonnes indexées, les types de données identiques, donneront de meilleures performances que les types différent. Une comparaison INT / INT ou BIGINT / BIGINT est donc plus rapide qu’une comparaison INT / BIGINT.

 

9. Quelle instruction est utilisée pour forcer l’optimiseur à utiliser des tables dans un ordre particulier?

A FORCE INDEX

B USE INDEX

C IGNORE INDEX

D STRAIGHT_JOIN

D
STRAIGHT_JOIN est utilisé pour forcer l’optimiseur à utiliser des tables dans un ordre particulier. L’optimiseur MySQL par défaut se considère libre de déterminer l’ordre dans lequel analyser les tables le plus rapidement.

 

10. Quelle instruction est utilisée pour vérifier le fonctionnement de l’optimiseur?

A ANALYZE

B VERIFY

C EXPLAIN

D SHOW

C
L’instruction EXPLAIN dans MySQL peut indiquer si les index sont utilisés ou non. Cette information est utile lorsqu’il y a différentes façons pour écrire une déclaration qui doivent être testées.

 

Partagez cet article

2 réflexions sur “QCM MySQL Corrigé – Optimisation de requêtes

  • Avatar
    décembre 17, 2019 à 10:08
    Permalien

    C est un bon cours sa m a vraiment intéressé

    Répondre
  • Avatar
    mars 5, 2020 à 8:38
    Permalien

    Merci beaucoup, c’est vraiment intéressant

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *