heyho
ich hab nen kleines problem für mein projekt. und zwar direkt los:
ich hab eine tabelle "pc"
Code:
CREATE TABLE `pc` (
`id` int(10) unsigned NOT NULL auto_increment,
`user_id` int(10) unsigned NOT NULL,
`pc_type` tinyint(2) NOT NULL default '1',
`name` varchar(50) NOT NULL default 'defaultpc',
`os` varchar(100) default NULL,
`cpu` tinytext,
`ram` tinytext,
`motherboard` tinytext,
`hdd` tinytext,
`graka` tinytext,
`sound` tinytext,
`extra` text,
`row1` varchar(500) default NULL,
`row2` varchar(500) default NULL,
`row3` varchar(500) default NULL,
`row4` varchar(500) default NULL,
`row5` varchar(500) default NULL,
`lastupdate` int(10) unsigned NOT NULL default '0',
`client` varchar(100) NOT NULL default '0',
`lastprofilupdate` int(10) unsigned NOT NULL default '0',
`images` text,
`updatecount` int(10) unsigned NOT NULL default '0',
`leagacy_image` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=905 ;
wichtig hier sind die spalten row1 bis 5 wo infos über den rechner drin stehen die von clients ~ aller einer minute aktualisiert werden.
jetzt problem nummer zwei, ich brauch die daten um die in bilder auszugeben. dabei gibt es bilder die verschiedene einzelne zeilen von verschiedenen pcs ausgeben. zb von pc id 500 die zeile 3 und von pc 100 die zeile 1. und von den kombinationen 5 stück.
da das ursprünglich nicht vorgesehen hatte, hab ich da einfach bissl unsauber losprogrammiert und das funktioniert zwar, ist allerdings bissl reudig um weiterhin damit zu arbeiten
das problem, die bildertabelle sieht so aus
Code:
CREATE TABLE `images` (
`id` int(10) unsigned NOT NULL auto_increment,
`user_id` int(10) unsigned NOT NULL,
`name` tinytext NOT NULL,
`row1` tinytext NOT NULL,
`row2` tinytext NOT NULL,
`row3` tinytext NOT NULL,
`row4` tinytext NOT NULL,
`row5` tinytext NOT NULL,
`image` int(10) unsigned NOT NULL,
`created` int(10) unsigned NOT NULL,
`counter` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
in die row1 -5 stehen die infos drin, wie die zeilen in den bildern aussehen und auf welche daten sie zugreifen.
bsp:
Code:
1:2|255:255:255|16:21|10:1
901:1|255:255:255|16:33|10:1
dabei ist das recht simpel aufgebaut...
<pcid>:<rowid>|<farbcode>|<position>|<fontinfo>
soweit so gut, wie kann man das verbessern.
ganz klar, ne tabelle für die pc infos anlegen die in etwa folgenden aufbau hat.
zeilennummer,computer_id,info
und davon für jeden pc für einträge, damit könnte ich die dann mit den bildern direkt über joins abrufen und das sollte alles kein problem darstellen

genauso das selbe für die bildertabelle, das man dort eine neue tabelle anlegt um die informationen einfach zu verknüpfen.
sprich image_id,computer_id_zeilen_id
das wären dann aber zwei tabellen die immer 5mal so schnell wachsen wie die pc anzahl. ich seh da irgendwie nen arges performance problem irgendwann. und die derzeitige lösung ist irgendwie unsauber.
beides blöd, was sagt ihr?
habt ihr bessere vorschläge?
habt ihr mein kauderwelch verstanden?! ;D
brauch ich mir bei dem plan keine gedanken um die performance machen?