#SQL

Laisser un commentaire

Optimiser les performances de MySQL

Les bases de données SQL et plus particulièrement MySQL restent une des pierres angulaires de l’immense majorité des sites internet. MySQL fonctionne très bien out of the box, cependant, dès que la base se trouve assez sollicitée, on s’aperçoit que les réglages par défaut méritent une petite optimisation. Jetons un œil à tout ça !

Laisser un commentaire

Maîtriser MySQL en CLI – avancé

Nous avions vu dans un précédent article comment gérer MySQL en ligne de commandes. Nous avons donc appris à créer, modifier, supprimer des tables et des bases. Nous avons aussi vu comment lire, écrire, effacer et trier des données dans ces tables. Ces opérations constituent le plus gros du travail que l’on a à effectuer dans des bases SQL.

Cependant, nous avons parfois à gérer des données complexes, dont l’organisation nécessite des traitements plus poussés. Nous allons donc parler d’index, de clefs primaires, de clefs étrangères ou encore de recherches FULLTEXT. Autant de méthodes qui vont nous aider à organiser et gérer des schémas de données complexes.

Laisser un commentaire

Maîtriser MySQL en CLI

Vous n’êtes pas sans savoir que derrière chaque site web se cache une base de données. Si vous développez des sites ou applis web, que ce soit en PHP, Ruby ou Python, vous devriez savoir maîtriser MySQL en ligne de commande.

À la question, “à quoi ça sert ?”, je répondrai que PhpMyAdmin n’est pas forcement installé sur le serveur que l’on doit administrer, et dans ce cas, il va falloir goûter à l’interface en ligne de commande. En outre, ce sont les mêmes commandes qui vous servent à faire les requêtes dans votre code, alors autant les apprendre ou les réviser !

Laisser un commentaire

Lumière sur les fetch modes de PDO

Si vous utilisez PDO, pour récupérer vos données après un select, vous faites peut-être tout simplement :

$pdo = new PDO('mysql:host=host;dbname=DBNAME', 'user', 'pass');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

while($mesDonnees = $maRequete->fetch()) {
    echo $mesDonnees['machin'];
}

// ou

$mesDonnees = $maRequete->fetchAll()

foreach ($mesDonnes as $element) {
    echo $element['machin'];
}

Vous utilisez donc probablement la méthode de récupération par défaut, FETCH_BOTH. Sachez qu’il existe de nombreuses autres méthodes pour récupérer ses données. À la fois plus efficacement et peut-être de manière plus adaptée à vos scripts que la méthode par défaut.

Tout ceci est bien entendu disponible sur la doc officielle PHP. Mais si c’est un article clair et qui parle le langage de l’homme que vous cherchez, alors j’ai trouvé une petite série qui se chargera de rendre tout ceci limpide dans votre cerveau !

Bonne lecture.

Laisser un commentaire

Les différents types de colonnes MySQL

Derrière la quasi-totalité des sites web et applications web, se cache une base de donnée SQL. Et lors de la conception de celle-ci, il faut choisir avec justesse les différents types de colonnes. Chose qui s’avère parfois plus difficile que prévu… Quelle est la différence entre un CHAR et un VARCHAR ? Qu’est-ce que sont les BLOB ? Ce petit guide permettra d’éviter certaines erreurs qui pourraient bien, à terme, nous coûter quelques gigaoctets supplémentaires et des ralentissements inutiles.