Showing entries 1 to 10 of 12
Suivant 2 Entrées plus anciennes »
Displaying posts with tag: 5.0 (reset)
Encore un nouveau livre sur MySQL !

Après l’excellent « MySQL5, Audit et optimisation » sorti fin mars, voici un nouveau livre pour vous occuper sur la plage cet été : MySQL5, Administration et optimisation.
Pour vous mettre l’eau à la bouche, la TDM_MySQL5_Admin_Optim et un Extrait_MySQL5_Admin_Optim consacré aux verrous et transactions sont disponibles

Le livre est bien sûr disponible dans toutes les bonnes librairies informatiques et autres FNAC, Amazon …

Bonne lecture …

[Lire plus]
Trois pdf de « MySQL 5, Audit et optimisation » à télécharger

Comme promis, voici quelques fichiers pdf du livre « MySQL 5, Audit et optimisation ».

Vous trouverez ici-même le sommaire et l’avant-propos. Le premier chapitre (« Gérer une situation d’urgence avec MySQL »), est disponible sur le blog d’Olivier.

Le livre sort ce jeudi en librairie, fnac.com, …

[Lire plus]
Sortie imminente de « MySQL 5, Audit et optimisation »

Vous l’avez remarqué, depuis quelques mois dbnewz n’est plus aussi régulièrement mis à jour. A qui la faute ? Probablement à l’ouvrage que nous (Pascal Borghino, Olivier Dasini, Arnaud Gadal) avons rédigé récemment. La charge de travail nécessaire à la rédaction de « MySQL 5, audit et optimisation », un ouvrage rédigé en plus de nos activités professionnelles, a temporairement pris le dessus sur le temps que nous consacrions habituellement au blog.

MySQL 5 Audit et optimisation

La rédaction de l’ouvrage étant maintenant dernière nous, les billets vont pouvoir reprendre à une allure plus digne de ce blog ! Je tiens d’ailleurs à remercier Stéphane qui a enrichi le site pendant que Pascal et moi étions à 100% sur le …

[Lire plus]
le trigger au secours des function-based index (FBI)

Constat : les FBI (function-based index) ne sont pas disponibles en MySQL.

Comment faire dans ce cas pour obtenir par exemple l’équivalent de l’index suivant ?

CREATE INDEX idx_str_len ON my_table (length(str));

Une des solutions les plus simples consiste à utiliser un trigger qui assurera la mise à jour d’une colonne supplémentaire que l’on créera dans la table cible.

Partons de la table suivante :

CREATE TABLE `t` (
`id` mediumint(8) unsigned NOT NULL auto_increment,
`date` timestamp NOT NULL,
`str` varchar(100) NOT NULL default '0',
PRIMARY KEY  (`id`)
) ENGINE=MyISAM;

Le but est de pouvoir obtenir une réponse rapide à la requête suivante :

select sql_no_cache count(*) from t where length(str) …

[Lire plus]
15 secondes pour installer une réplication MySQL avec MySQL Sandbox, pari tenu ?

“Installez-moi une configuration MySQL composée d’un master et deux slaves, vous avez 15 secondes. Top chrono”…

Non, ça n’est pas la dernière énigme à la mode pour rentrer chez Google mais plutôt une question qui pourrait devenir presque banale pour un entretien d’embauche pour un DBA MySQL à l’avenir, qui sait ?

Face à un tel défi, trois solutions :

- La fuite (mais faites une croix sur la “recommandation” Linkedin)
- Le kernel panic
- MySQL Sandbox !

Bien vu, MySQL Sandbox est la réponse la plus stratégique pour la poursuite de votre carrière.

Giuseppe Maxia (dont le blog figure dans notre blogroll, allez y jeter un oeil) est l’auteur de cet outil vraiment très pratique.  Que propose t-il ?

L’idée est d’automatiser l’installation de plusieurs serveurs MySQL sur une même machine. Rien que nous ne puissions faire manuellement c’est …

[Lire plus]
Générer un jeu de données : shell, mysqlslap, et procédure stockée

Le prochain article de notre série consacrée aux index MySQL approche et j’ai besoin pour ce prochain épisode de générer une table de test de la forme suivante :

CREATE TABLE `t` (
`id` mediumint(8) unsigned NOT NULL auto_increment,
`date` timestamp NOT NULL,
`flag` tinyint(4) NOT NULL default '0',
PRIMARY KEY  (`id`),
KEY `flag` (`flag`)
) ENGINE=MyISAM;


La structure est définie, reste à alimenter la table, disons 1 million d’enregistrements.

La valeur du champ “flag” est importante pour nos tests ultérieurs, sa valeur doit pour le moment être comprise entre 0 et 1, le tout à peu près uniformément distribué.

La requête sera la suivante :

INSERT INTO test.t (flag) VALUES (ROUND(RAND()));

Il faut maintenant …

[Lire plus]
Les index MySQL : types, placements, efficacité

Déjà trois semaines d’écoulées depuis que certains d’entre vous, les “héros”, ont posé leurs questions (oui il est possible de devenir un héros rien qu’en lisant dbnewz ! Les véritables héros sont d’ailleurs abonnés au tout nouveau flux feedburner )

Trois semaines d’attente, cela mérite un billet digne de ce nom, c’est parti.

Indexer, pourquoi ?

L’indexation peut avoir plusieurs buts :
- Accéder à ses données plus rapidement, les index sont en effet l’outil le plus puissant pour accélérer les temps d’exécution de vos requêtes jusqu’à parfois plusieurs centaines de % !
- Définir le degré d’unicité d’une colonne donnée : chaque champ doit-il …

[Lire plus]
DBDesigner 4 : générer son MCD par reverse engineering

Disposer d’un MCD (modèle conceptuel de données) lorsqu’on travaille sur une requête SQL impliquant différentes tables représente un gain de temps.
Il est en effet plus rapide de jeter un coup d’oeil sur un MCD afin de repérer quels sont les champs qui lient une table à une autre plutôt que d’enchaîner les “DESC ma_table”, puis repérer la clé primaire et les éventuelles clés étrangères, et rebolote sur la ou les tables de destination…

La prochaine série d’articles sur les index MySQL va nous amener à enchaîner quelques requêtes sur une des deux bases d’exemple disponibles sur le site de MySQL : world et sakila, le prétexte est donc tout trouvé pour évoquer ici la solution que j’ai retenu pour obtenir le MCD de ces tables : DBDesigner 4.

Cet outil n’est pas nouveau, son successeur officiel est même déjà …

[Lire plus]
Les certifications MySQL 5 : retour d?expérience

Une certification MySQL, et pourquoi pas ? Peut-être y pensez-vous…

Présentation

Si vous vous demandez à quoi elles peuvent bien servir, MySQL a dressé une liste pour vous :

Une certification est censée…
- Valider votre savoir-faire
- Diminuer les risques liés à la manipulation de MySQL
- Permettre d’offrir à son entreprise une plus grande qualité de service
- Augmenter la productivité
- Réduire les coûts de maintenance
- Offrir à son détenteur une augmentation de salaire

Au-delà de cette version légèrement idéaliste/marketing et en évitant par ailleurs l’aspect souvent “polémique” concernant les certifications (les “pour”, les “contre”), ne cédons pas à la tentation du troll et voyons ce que MySQL nous propose.

Il existe …

[Lire plus]
?Les index MySQL? : la série dont vous êtes le héros

Un titre sans doute bien étrange pour certains et qui rappelera des souvenirs à d’autres, surtout à ceux qui ont déjà parcouru un de ces livres “dont vous êtes le héros“…

Afin que les choses soient claires pour tout le monde, je vous propose en fait de participer à la conception du sommaire de la future série d’articles sur les index qui sera publiée prochainement sur dbnewz.

L’indexation est en effet un thème auquel il faut absolument s’intéresser, tout d’abord pour éviter des catastrophes et bien sûr pour optimiser les performances !

Les index sont une arme redoutable, à double tranchant : oubliez-les et ils se rappeleront violemment à votre bon souvenir “ça ne fait pas 5 min que nous sommes en production et la base ne répond plus, la sonde cpu est à 100%, on ne peut même plus se connecter à la …

[Lire plus]
Showing entries 1 to 10 of 12
Suivant 2 Entrées plus anciennes »