IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Storage Engines

És com és guardarà la taula. /var/lib/mysql

ls-la /var/lib/mysql

Creem una base de dades anomenada prova_mysql.

sudo ls -la /var/lib/mysql/prova_mysql
total 12
drwx------  2 mysql mysql 4096 2011-11-04 19:14 .
drwx------ 13 mysql mysql 4096 2011-11-04 19:14 ..
-rw-rw----  1 mysql mysql   65 2011-11-04 19:14 db.opt

si la taula la guardem amb el tipus myisam si tornem a fer un ls-la automàticament ens crea 3 arxius

sudo ls -lah /var/lib/mysql/prova_mysql
total 28K
drwx------  2 mysql mysql 4,0K 2011-11-04 19:20 .
drwx------ 13 mysql mysql 4,0K 2011-11-04 19:14 ..
-rw-rw----  1 mysql mysql   65 2011-11-04 19:14 db.opt
-rw-rw----  1 mysql mysql 8,4K 2011-11-04 19:20 prova.frm
-rw-rw----  1 mysql mysql    0 2011-11-04 19:20 prova.MYD
-rw-rw----  1 mysql mysql 1,0K 2011-11-04 19:20 prova.MYI

NOTA: La comanda file identifica el contingut de l'arxiu, no l'extensió

  • Prova.frm ens explica la table definition
sudo file /var/lib/mysql/prova_mysql/prova.frm
/var/lib/mysql/prova_mysql/prova.frm: MySQL table definition file Version 9
  • Prova.MYD és un fitxer buit. Està buit perquè aquest arxiu emmagatzema els índex.
sudo file /var/lib/mysql/prova_mysql/prova.MYD
/var/lib/mysql/prova_mysql/prova.MYD: empty
  • Prova.MYI conté les dades de la taula.
sudo file /var/lib/mysql/prova_mysql/prova.MYI
/var/lib/mysql/prova_mysql/prova.MYI: MySQL MISAM compressed data file Version 1

Fem un script per augmentar l'índex i veure com augmenten també els arxius.

#!/usr/bin/php
<?php

require_once("/etc/mysqlpasswords");
$connexio =  mysql_connect($HOST, $USER, $PASSWD);
if (!$connexio) {
    die('No pudo conectarse: ' . mysql_error());
}
echo "Conectado\n";


$db_selected = mysql_select_db('prova_mysql', $connexio);
if (!$db_selected) {
    die ('ERROR : ' . mysql_error());
}

echo "Si que sel·lecciona la base de dades\n";

for ($i = 1; $i <= 1000; $i++) {
    echo $i;
    $connexio= mysql_query("INSERT INTO id (id, nom) values ('$i', 'nom')");
    echo "insertat correctament\n";
}

?>

Script amb arxiu pocket.txt insertat a la taula a la col·lumna 2.

#!/usr/bin/php
<?php

require_once("/etc/mysqlpasswords");
$connexio =  mysql_connect($HOST, $USER, $PASSWD);
if (!$connexio) {
    die('No pudo conectarse: ' . mysql_error());
}
echo "Conectado\n";



$db_selected = mysql_select_db('prova_mysql', $connexio);
if (!$db_selected) {
    die ('ERROR : ' . mysql_error());
}

echo "Si que sel·lecciona la base de dades\n";

$connexio= mysql_query("LOAD DATA INFILE '/var/lib/pocket.txt' INTO TABLE id (nom)");
for ($i = 1; $i <= 1000000; $i++) {
    echo $i;
    $connexio= mysql_query("INSERT INTO id (id, nom) values ('$i', 'nom')");
    echo "insertat correctament\n";
}
?>


Desprès d'haver creat la base de dades amb molta informació podem veure com els arxius han variat de tamany

sudo ls -la /var/lib/mysql/prova_mysql
total 16260
drwx------  2 mysql mysql     4096 2011-11-04 19:40 .
drwx------ 13 mysql mysql     4096 2011-11-04 20:29 ..
-rw-rw----  1 mysql mysql       65 2011-11-04 19:14 db.opt
-rw-rw----  1 mysql mysql     8584 2011-11-04 19:40 id.frm
-rw-rw----  1 mysql mysql 10961088 2011-11-04 20:35 id.MYD
-rw-rw----  1 mysql mysql  5632000 2011-11-04 20:35 id.MYI