RE: Tabellen-Größe reduzieren
Uwe Driessen
driessen at fblan.de
Sa Apr 25 00:55:32 CEST 2009
> -----Original Message-----
> From: mysql-de-bounces+driessen=fblan.de at lists.4t2.com [mailto:mysql-de-
> bounces+driessen=fblan.de at lists.4t2.com] On Behalf Of Rene Thiel
> Sent: Friday, April 24, 2009 10:50 PM
> To: mySQL-Liste
> Subject: Tabellen-Größe reduzieren
>
> Guten Morgen.
>
> wie kann es sein, dass:
>
> CREATE TABLE IF NOT EXISTS `chc_log_data` (
> `nr` int(8) NOT NULL default '0',
> `ip` varchar(25) NOT NULL,
> `host` varchar(55) NOT NULL,
> `user_agent` varchar(255) NOT NULL default '',
> `is_robot` int(1) NOT NULL default '0',
> `http_accept_language` varchar(55) NOT NULL,
> `timestamp` int(14) NOT NULL default '0',
> `referrer` varchar(255) NOT NULL default '',
> `seitenaufrufe` int(14) NOT NULL default '0',
> `seiten` text NOT NULL,
> `downloads` text NOT NULL,
> `hyperlinks` text NOT NULL,
> `js` int(1) NOT NULL default '0',
> `aufloesung` varchar(25) NOT NULL,
> PRIMARY KEY (`nr`),
> KEY `timestamp` (`timestamp`)
> ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
>
> nicht weniger Speicher braucht als:
>
> CREATE TABLE IF NOT EXISTS `chc_log_data` (
> `nr` int(14) NOT NULL default '0',
> `ip` varchar(255) NOT NULL default '',
> `host` varchar(255) NOT NULL default '',
> `user_agent` varchar(255) NOT NULL default '',
> `is_robot` int(1) NOT NULL default '0',
> `http_accept_language` varchar(255) NOT NULL default '',
> `timestamp` int(14) NOT NULL default '0',
> `referrer` varchar(255) NOT NULL default '',
> `seitenaufrufe` int(14) NOT NULL default '0',
> `seiten` text NOT NULL,
> `downloads` text NOT NULL,
> `hyperlinks` text NOT NULL,
> `js` int(1) NOT NULL default '0',
> `aufloesung` varchar(255) NOT NULL default '',
> PRIMARY KEY (`nr`),
> KEY `timestamp` (`timestamp`)
> ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Schau dir den Verbrauch der Felder an
Varchar L+1 max 255 *5 max 1275
Int 4 *5 20
Timestamp 4 *1 4
Text L+2 *3 kann sehr groß werden
179000 * 1305 = 233595000 zzgl. den Indexen
Statt int(1) tinyint statt 4 1 Byte verbrauch
Ansonsten Felder nur solange wie wirklich benötigt
>
> ca. 179.000 Datensätze = ca. 79 MB!
> Wobei `downloads` und `hyperlinks` (bisher) ohne Inhalt sind.
>
> Hat jemand Optimierungs-Vorschläge?
>
Weniger Datensätze? *gg
Mit freundlichen Grüßen
Drießen
--
Software & Computer
Uwe Drießen
Lembergstraße 33
67824 Feilbingert
Tel.: +49 06708 / 660045 Fax: +49 06708 / 661397