30 questions sur MySQL – Partie 1

13 octobre 2010 par stephane

La rentrée est passée depuis quelques semaines, et dbnewz vous propose un petit quiz pour faire le point sur vos connaissances en MySQL. Ce quiz en 2 parties contient un total de 30 questions qui abordent les principaux domaines de notre base de données favorite : réplication, sauvegarde, performance des requêtes, installation, moteurs de stockage, outils…
Tous les documents sont bien sûr autorisés !
A vos marques, prêts ? Partez …

1- Quand on installe deux instances de MySQL sur la même machine hôte, les deux instances ne peuvent pas partager le même port, mais peuvent partager la même socket.

      a) Vrai
      b) Faux

2- Quelle est la requête dont l’exécution est immédiate, la table t utilisant le moteur MyISAM et id étant la clé primaire ?

      a) SELECT COUNT(*) FROM t
      b) SELECT COUNT(*) FROM t WHERE id > 5
      c) SELECT id FROM t

3- Quand on n’utilise pas l’option innodb_file_per_table, spécifier plusieurs tablespaces avec l’option innodb_data_file_path permet de distribuer les écritures InnoDB sur plusieurs fichiers.

      a) Vrai
      b) Faux

4- Les droits d’un utilisateur ont été changés avec la commande GRANT. Que faut-il faire pour être certain que les nouveaux droits soient pris en compte ?

      a) Rien
      b) Lancer FLUSH PRIVILEGES
      c) Tuer les sessions de l’utilisateur si elles existent

5- Quand l’option innodb_file_per_table est activée, sauvegarder les fichiers .ibd n’est pas suffisant.

      a) Vrai
      b) Faux

6- Quand on met en place une réplication maitre-esclave, il n’est plus nécessaire de faire des sauvegardes, l’esclave possédant une copie des données.

      a) Vrai
      b) Vrai seulement s’il existe au moins deux esclaves, afin que le système soit redondant
      c) Faux

7- Qu’est le plugin InnoDB ?

      a) Une version d’InnoDB installable sous forme de plugin pour MySQL 5.1 avec des fonctionnalités supplémentaires par rapport à la version d’InnoDB fournie en standard avec MySQL 5.1
      b) Un add-on qui facilite la migration de MySQL vers Oracle
      c) Un script permettant d’effectuer des backups à chaud des tables InnoDB

8- Pour répondre à une clause de type WHERE type = « XXX » AND customer_id = 123, quelle est a priori la meilleure indexation ?

      a) Aucun index supplémentaire n’est nécessaire, la clé primaire suffit pour ce type de filtrage
      b) Un index sur les 2 colonnes type et customer_id
      c) Un index sur type et un index sur customer_id

9- Dans une jointure à deux tables, est-il nécessaire d’indexer chaque colonne de la condition de jointure ?

      a) Oui
      b) Non
      c) Seul l’index de la table jointe est utilisé, mais l’optimiseur peut inverser l’ordre de jointure, mieux vaut donc en général indexer les deux colonnes

10- Une sous-requête est parfois plus performant qu’une jointure équivalente.

      a) Vrai
      b) Faux

11- Quelle est la commande qui permet de savoir quelles partitions sont examinées par une requête ?

      a) EXPLAIN
      b) EXPLAIN EXTENDED
      c) EXPLAIN PARTITIONS

12- Les procédures et fonctions stockées améliorent nettement les performances par rapport à un code similaire côté applicatif.

      a) Vrai
      b) Ca dépend
      c) Faux

13- Pour changer les coordonnées de réplication d’un esclave, quelle est la meilleure méthode ?

      a) Editer le fichier master.info
      b) Lancer une commande CHANGE MASTER TO
      c) Editer le fichier my.cnf

14- Pour mener des tests sur une configuration de réplication circulaire à 3 serveurs, quel outil peut être utilisé pour monter rapidement les serveurs ?

      a) MySQL Sandbox
      b) Maatkit
      c) Aucun outil n’est capable de réaliser cette opération

15- Si on souhaite, sur une même table, modifier le type d’une colonne et en ajouter une autre, quelle est la meilleure stratégie ?

      a) Lancer une seule commande ALTER TABLE pour modifier et ajouter en même temps
      b) Lancer une commande ALTER TABLE pour modifier, puis une commande ALTER TABLE pour ajouter
      c) Lancer une commande ALTER TABLE pour ajouter, puis une commande ALTER TABLE pour modifier

Alors, facile ? Rendez-vous très prochainement pour la deuxième partie du quiz et pour les réponses !

Mots-clefs : ,

2 commentaires sur “30 questions sur MySQL – Partie 1”

  1. Haptomai.Org dit :

    30 questions sur MySQL – Partie 1…

    La rentrée est passée depuis quelques semaines, et dbnewz vous propose un petit quiz pour faire le point sur vos connaissances en MySQL. Ce quiz en 2 parties contient un total de 30 questions qui abordent les principaux domaines de notre base de donnée…

  2. Arnaud dit :

    Excellente idée Stéphane :)

Laisser une réponse