Mailinglisten-Archive |
Hallo, ich habe hier bereits mal wg. Portierung von Oracle nach MySQL gepostet. Als Tip bekam ich PostgreSQL. Bin damit fast durch. Nun will ich das auch noch mit MySQL machen. Da wir aber sehr sehr viele Tabellen mit Foreign Keys haben, muss ich nach InnoDB Tabellentyp ausweichen. Auf einem Dualrechner mit 512 MB habe ich ein kleines Test mit dem MyISAM- und InnoDB-Tabellentyp durchgeführt. Die Tabellen siehen wie folgt aus: CREATE TABLE `table_innodb` ( `id` int(11) NOT NULL auto_increment, `text` varchar(100) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=InnoDB; CREATE TABLE `table_myisam` ( `ID` int(11) NOT NULL auto_increment, `text` varchar(100) NOT NULL default '', PRIMARY KEY (`ID`) ) TYPE=MyISAM; Es ging mir bei diesem Test, wie schnell die Daten geschrieben werden. Über Perl-DBI habe ich nun nur 1000 Einträge reingeschrieben, die wie golgt aussehen: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt) Mozilla/4.7 [en] (WinNT; I) Mozilla/4.0 (compatible; MSIE 4.01; Windows 98) Mozilla/4.0 (compatible; MSIE 5.01; Windows NT) Mozilla/4.0 (compatible; MSIE 4.01; Windows 98) Mozilla/4.0 (compatible; MSIE 5.0; Windows 95; DigExt) Mozilla/4.0 (compatible; MSIE 5.0; Windows 95; DigExt) ... Die Ergebnisse haben mich hier jedoch erschrocken: K:\db\test>put2db_innodb.pl table_innodb needed 30 seconds K:\db\test>put2db_myisam.pl table_myisam needed 1 seconds Es handelt sich hierbei um die MySQL 3.23.51 Max Version unter Windows. Beim MyISAM-Test war die Rechnerauslastung bei 50-60% und beim InnoDB-Test nicht mal bei 1%. Jetzt frage ich mich, ob ich was falsch gemacht habe oder nicht. Wenn nicht, dann wäre es besser in der MySQL-Version MyISAM-Tabellen zu verwenden und die Logik für die Foreign Keys in die Software einzubauen. Wie sind die Performanceunterschiede beim InnoDB-Typ zwischen der Max 3.23.5x und Max 4.0.x? Gruss Rafal --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive