mysqlsla analyse les logs de MySQL : général, requêtes lentes et de requêtes. Anciennement appelé mysqlprofile, le nouveau nom reflète l'objectif du script : combined MySQL Statement Log Analysis (Analyse...
mysqlsla est un analyseur de log MySQL qui permet d'extraire les informations importantes des logs MySQL. Ces derniers stockent les requêtes brutes, et il est parfois difficile de repérer les requêtes qui sont identiques, à quelques variables ou valeurs près. mysqlsla est alors là pour ça.
Ce problème de requêtes similaire est une raison de plus pour passer aux commandes préparées de MySQL : avec les commandes préparées, la requête est dissociée des valeurs d'exécution, et le stockage dans le log MySQL devient constant : la requête d'un coté, les valeurs de l'autre. Et on peut aussi arriver au même résultat avec les variables MySQL. mysqlsla 2.0 released (0 visite) mysqlsla (0 visite)
Je viens de publier mysql-query-builder 1.0.2. Il lui manque toujours une documentation formelle, mais elle est couverte à 100% par les tests unitaires, qui peuvent faire office de manuel.
MySQL Query Builder est un jeu de classes PHP 5 qui permettent (surprise!) de construire des requêtes MySQL correctes, avec PDO et les instructions SQL de préparation. C'est particulièrement utile si vous devez implémenter une couche d'abstraction de base de données (j'implémente ActiveRecord avec), et que vous construisez dynamiquement vos requêtes.
Il existe aussi Babel MySQL, un projet destiné à convertir automatiquement des phrases humaines en requêtes SQL.
De retour de MySQL UC, Domas Mituzas rassemble ses notes sur la montée en charge de serveurs MySQL : caches, gestion des requêtes lentes, compressions, répartition de la charge. Domas...
MySQL n'est donc pas limitée aux requêtes de type SELECT ... FROM ... WHERE. C'était déjà le cas depuis de nombreuses années, mais les possibilités de la version 5 ont...
Une astuce de performances est à la mode actuellement : cela consiste à remplir le cache de MySQL dès que possible, pour les requêtes qui en ont besoin puisse le...
Je cherchais un tueur de requête pour MySQL depuis longtemps. Ce sont simplement des programmes qui surveillent la commande show processlist de MySQL, et décident d'interrompre des requêtes qui violent...
Une des grandes forces de MySQL est son modèle d'innovation supérieur. Plutôt que de se limiter aux techniciens internes pour créer et entretenir un outil, MySQL a établit un partenariat...
Pete Freitag rappelle l'existence de 8 options de requêtes MySQL qui permettent d'adapter le comportement du serveur pour gagner en vitesse ou en fonctionnalité (ou les deux) :
SQL_NO_CACHE, SQL_CACHE,...
«Une des grandes forces de MySQL est son modèle d'innovation supérieur. Plutôt que de se limiter aux techniciens internes pour créer et entretenir un outil, MySQL a établit un partenariat avec...
Il semble que MySQL 5.1 supportera les requêtes programmées. Il s'agit de donner une date d'exécution pour une requête, un peu comme on programme une tâche système avec la crontab. Cela permettra...
Jointures, unions, sous-requêtes, tables temporaires : quelques-unes des fonctionnalités de MySQL à ne pas oublier quand vient le moment de traiter des données sur plusieurs tables.
J'ouvre ici un topic qui sera permanent sur l'optimisation des requêtes mysql en php. Il est question des requ
Jan Kneschke publie un tutoriel pour le proxy MySQL, destiné à séparer les requêtes SQL en fonction de leur impact : les écritures vont directement sur le maître, tandis que les lectures vont uniquement sur les esclaves. Cela permet de mettre en place une architecture de réplication sans modifier le code source de l'application amont (PHP ou autre) : le proxy MySQL se charge de faire la répartition entre les différents noeuds de l'architecture.
Dans le deuxième volet du tutoriel, Jan s'intéresse à des couples de requêtes classiques, comme les insertions avec colonne auto_increment, ainsi qu'à la mesure du lag de réplication.
Lors de la mise en place d'une réplication, il faut modifier son application PHP pour diriger les lectures sur les esclaves et les écritures sur le maître. On y arrive souvent en passant par une couche intermédiaire qui fait la distribution. Avec MySQL Proxy, cette couche peut se faire de manière transparante pour l'application.
Un script LUA sur MySQL Proxy va distribuer correctement les transactions et écritures vers le maître, et les autres requêtes vers les esclaves. MySQL Proxy est aussi capable de surveiller tout un pool d'esclaves, et de répartir les requêtes sur les esclaves qui fonctionnent (par opposition à ceux qui sont inaccessibles).