Vidéo PHP et MySQL, édition 28

Voici les 5 dernières vidéos PHP et MySQL.



Ces vidéos sont …

[Lire plus]
REPLACE reset les valeurs non spécifiées
[mysql]
# Je crée une table
DROP TABLE IF EXISTS `testReplace`;
CREATE TABLE `testReplace` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `a` int(11) default '1',
  `b` int(11) default '2',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

#J'y ajoute 2 records /lignes/tuples
INSERT into `testReplace` 
        (`a`, `b`)
        values
        (1, 1),(2,2);
SELECT * FROM  `testReplace`;
 id | a | b
============
  1 | 1 | 1
  2 | 2 | 2
[mysql]
#Je remplace la première valeur de la première ligne 
REPLACE into `testReplace` 
        SET `id`=1, a=3;
# que vaut b ? 
[mysql]
  SELECT * FROM  `testReplace`;
 id | a | b
============
  1 | 3 | 2
  2 | 2 | 2

B a repris sa valeur par défaut

En pratique cela veut dire que si on fait un replace et qu'on ne précise pas toutes les colonnes les colonnes non-spécifiées prennent la valeur par défaut alors qu'on peut s'attendre à …

[Lire plus]
Sun rachète MySQL

Après avoir été présenté comme la super star des introductions en bourse pour 2008, MySQL a finalement signé un accord avec Sun MicroSystems pour une acquisition. Selon O'reilly, l'acquisition de fait au coût de 1 milliard de dollars US en cash, et possiblement des stock options.
L'annonce est actuellement faite par Kaj Arno, sur son blog et l'annonce de presse de Sun semble introuvable à 14h50 , mais Kaj nous détaille les avantages de l'accord. Pour la communauté MySQL, Sun est un champion de l'Open Source, et entend continuer avec MySQL. MySQL fera toujours partie de LAMP, et il n'est pas prévu de l'y soustraire. Dans le sens inverse, il ne semble pas que Sun apporte de grands changements à la communauté MySQL (en bien ou en mal).
A première vue, le mariage est surtout un mariage de raison, pour des raisons probablement de nature entrepreneuriale et non technique : la croissance de la compagnie la conduisait à un …

[Lire plus]
Sun rachète MySQL

Après avoir été présenté comme la super star des introductions en bourse pour 2008, MySQL a finalement signé un accord avec Sun MicroSystems pour une acquisition.
L'annonce est actuellement faite par Kaj Arno, sur son blog et l'annonce de presse de Sun semble introuvable à 14h50 , mais Kaj nous détaille les avantages de l'accord. Pour la communauté MySQL, Sun est un champion de l'Open Source, et entend continuer avec MySQL. MySQL fera toujours partie de LAMP, et il n'est pas prévu de l'y soustraire. Dans le sens inverse, il ne semble pas que Sun apporte de grands changements à la communauté MySQL (en bien ou en mal).
A première vue, le mariage est surtout un mariage de raison, pour des raisons probablement de nature entrepreneuriale et non technique : la croissance de la compagnie la conduisait à un affrontement plus direct avec les grands éditeurs en place, et il est toujours difficile d'entrer dans l'arène quand on est …

[Lire plus]
Conseils de performances pour les applications LAMP

Euan a rassemblé ses notes de 6 mois de recherche sur Google concernant les performances des applications LAMP. Il les livre pour que les autres puisse éviter les mêmes erreurs.


  • in_array, serialize et unserialize sont lents
  • SQL_CALC_FOUND_ROWS peut être plus rapide que COUNT
  • key_buffer_size, sort_buffer_size et read_rnd_buffer_size pour les requêtes SQL
  • Eviter mysqldump et ses verrous de tables


D'autres conseils sur le site.

MySQL Gadgets : iostats pour mysql

Jay publie trois petits utilitaires MySQL qui publie des informations sur un serveur en fonctionnement, à la manière d'iostats. Les utilitaires se servent de SHOW STATUS et consort pour rassembler différentes informations instantanées sur le fonctionnement du serveur.

 
 
$ ./myq_status -h host -u user -p  pass -t 15  myisam
 
row      Queries (/sec)      Table Key Buffer 
 
time      sel  ins  upd  del  lock  full    used  dirt rmiss wmiss 
 
16:16:11 341m 256m 135m 5.4m 0.02% 57.8% 442.34M 0.00% 0.74% 34.2% 
 
16:16:27 56.9 19.2    0    0 0.00% 57.6% 442.34M 0.00% 0.36% 21.1% 
 
16:16:41  136 22.1    0    0 0.00% 57.4% 442.34M 0.00% 3.95% 20.7% 
 
16:16:56 27.1 19.7    0    0 0.00% 57.3% 442.34M 0.00% 0.58% 35.8% 
 
[Lire plus]
MySQL proxy : premiers tests en charge

mysql-proxy se dirige tranquillement vers sa première version stable, et les premiers ateliers de performance sont en train de sortir. mysqlproxy sert de point d'entrée pour une architecture MySQL : en lui donnant quelques règles, on peut répartir les demandes de requêtes sur plusieurs machines, en fonction de règle personnalisées.
Les résultats sont encourageants :


  • mysql-proxy a resisté à mysqslap (le client de tests en charge de MySQL)
  • mysql-proxy a répartit la charge entre les bases sans problème
  • Assurez-vous que tout fonctionne correctement dès le début avec un client MysQL.
[Lire plus]
Compression des champs TEXT dans MySQL

La compression de données permet de faire économiser de la place sur le disque, mais coûte en performances. Quel peut être l'impact de cette approche pour une base de données?
L'impact peut être intéressant pour les champs BLOB, et plus surement encore, les champs TEXT. Avec une fonction telle que COMPRESS et UNCOMPRESS, accessibles directement dans MySQL, on peut gagner un facteur de 2 à 10 sur l'espace de stockage. Pour des données qui sont peut manipulées, cela peut se révéler très bon, même en performances : lire sur le disque des données est généralement assez lent. Bien sur, vous devez vérifier si votre serveur est chargé ou pas.
Un autre aspect à prendre en compte est que les données compressées sont presque chiffrées : une recherche dans une colonne compressée implique une décompression des données, de même qu'un GROUP BY ou un affichage partiel. C'est généralement à ce stade qu'on réalise que la …

[Lire plus]
Compiler MySQL 5.0.51 sur Ubuntu 7.10

Ronald Bradford publie une liste de solutions pour ceux qui compilent MySQL sur Ubuntu 7.10, avec les explications aux écueuils les plus courants.
" Cela faisait longtemps que je n'avais pas compilé [MySQL] depuis les sources, et, pour la situation, la première fois que je le faisais sur Ubuntu 7.10 (une installation propre). Voici certains problèmes et les solutions associées, pour éviter à tout le monde de bloquer sur la même chose."

Compiler MySQL 5.0.51 sur Ubuntu 7.10

Ronald Bradford publie une liste de solutions pour ceux qui compilent MySQL sur Ubuntu 7.10, avec les explications aux écueuils les plus courants.
" Cela faisait longtemps que je n'avais pas compilé [MySQL] depuis les sources, et, pour la situation, la première fois que je le faisais sur Ubuntu 7.10 (une installation propre). Voici certains problèmes et les solutions associées, pour éviter à tout le monde de bloquer sur la même chose."