Friday, November 14, 2008

MyISAM vs InnoDB

Ini pembicaraan saya dengan prof, tentang MyISAM dan InnoDB, mudah-mudahan bermanfaat

(4:23:59 PM) doctor_moron: saya baca post nya prof tentang myisam vs innodb
(4:24:08 PM) EP: di mana?
(4:24:21 PM) doctor_moron: http://tech.groups.yahoo.com/group/id-mysql/message/450
(4:24:31 PM) EP: pasti udah lama
(4:24:34 PM) doctor_moron: iya
(4:25:02 PM) EP: makin tua makin males
(4:25:19 PM) doctor_moron: saya baca itu karena ada orang disini ngomong katanya bedanya myisam sama inno itu..salah satu nya myisam gak support relational
(4:25:59 PM) doctor_moron: aneh ..
(4:26:48 PM) EP: benar
(4:26:53 PM) doctor_moron: oh gitu prof ?
(4:27:06 PM) EP: gak support foreign key constraint
(4:27:15 PM) EP: maksudnya gak support foreign key constraint
(4:27:18 PM) EP: kalo join2 sih bisa
(4:27:49 PM) EP: jadi kurang tepat juga kl gak support relasional, krn dia bisa join
(4:28:02 PM) doctor_moron: ya .. sekarang saya ngerti
(4:28:04 PM) doctor_moron: :)
(4:34:40 PM) EP: perbedaan lain, myisam cuma support pesimistic table locking
(4:35:07 PM) EP: innodb support optimistic locking. kalo ga salah di level record
(4:35:17 PM) doctor_moron: hmm
(4:35:48 PM) EP: makanya DHH bikin optimistic locking di rails itu kan utk mengatasi pesimistic locking di myisam
(4:36:00 PM) EP: hebat dia
(4:36:14 PM) EP: orang lain bisanya cuma complain (termasuk saya), dia bikinin solusi :-)
(4:37:25 PM) EP: perbedaan lain, fisik databasenya. kalo innodb 1 file gede
(4:37:30 PM) EP: kalo myisam kan disebar ke file2
(4:38:15 PM) doctor_moron: nah itu (myisam) saya tau
(4:38:48 PM) EP: iya kan dulu situ bikin script utk masalah file2 myisam
(4:38:51 PM) EP: di id-perl
(4:38:56 PM) doctor_moron: iya
(4:44:51 PM) doctor_moron: mo ngomong .. susah mendeskripsikannya http://wiki.squeak.org/squeak/2634 ... salah satu intinya pesimistic locking butuh load yang gede
(4:45:06 PM) doctor_moron: more work on db server
(4:45:46 PM) EP: wah itu saya gak tahu
(4:46:56 PM) doctor_moron: mesti saya blog nih.. catatan di pc suka ilang terus
(4:47:01 PM) EP: kalo "offers reduced contention" memang
(4:47:30 PM) doctor_moron: bisa di terjemahkan prof tentang si contention itu ? saya lihat di kamus itu artinya 'perdebatan' :">
(4:47:48 PM) EP: contention = pertarungan / perebutan
(4:48:02 PM) EP: lock contention = perebutan lock
(4:48:44 PM) EP: kalo di file I/O ada istilah seek contention
(4:49:31 PM) EP: head harddisk itu diperebutkan banyak program yg mau baca file di tempat yg beda2
(4:49:40 PM) doctor_moron: ooooo

Thursday, November 13, 2008

Get tables & columns from MS Access


#!/usr/bin/perl -w
use strict;
#use Data::Dumper;

use DBI;
my $dsn = 'Driver=Microsoft Access Driver (*.mdb);
DBQ=db.mdb';
my $dbh = DBI->connect("DBI:ODBC:$dsn",'','',
{RaiseError=>1}) or die $DBI::errstr;

my $sth = $dbh->table_info('','','','TABLE');

while( my ( undef, undef, $name ) =
$sth->fetchrow_array() ) {
print "$name: \n";
my $colsth = $dbh->column_info( '', '', $name, '' );
while( my ( undef, undef, undef, $col_name ) =
$colsth->fetchrow_array() ) {
print "\t$col_name\n";
}
}