Ok, hvala. Kontao sam da tako i radi, al reko aj da pitam, mozda ima nesto sto mi nije palo napamet.
Sta mislis da li bi mozda pomoglo/zakomplikovalo ako bi naziv polja drzao u posebnoj tabeli, a same vrednosti u posebnoj? mislim, smanjila bi se redundanca, ali bi verovatno opale performanse zbog dodavanja jos jedne tabele i novog joinovanja prilikom pretrage?
Mada, mozda bi pretraga isla i malo brze, jer bi onda tvoja tabela bila
Code:
CREATE TABLE `bgs_ads_custom` (
`ads_id` int(9) unsigned NOT NULL,
`fk_name_id` int(11) NOT NULL,
`value` varchar(255) default NULL,
KEY `ads_id` (`ads_id`,`fk_name_id`)
) ENGINE=MyISAM;
pa bi samo trazio po poljima where fk_name_id = xx AND value= yy ?
Imam ja ovo vec ovako odradjeno, sta vise, imam cak i var_value, bol_values, int_value, txt_value kao dodatno prosirenje koje mi omogucava da cuvam druge tipove podataka u dodatnoj tabeli sa stvarnom vrednostima. Onda ova tvoja tabel izgleda:
Code:
CREATE TABLE `bgs_ads_custom` (
`ads_id` int(9) unsigned NOT NULL,
`fk_name_id` varchar(20) NOT NULL,
`var_value` varchar(255) default NULL,
`bol_value` tinyint(1) default NULL,
`int_value` int(11) default NULL,
`txt_value` text default NULL,
KEY `ads_id` (`ads_id`,`fk_name_id`)
) ENGINE=MyISAM;
Trenutno sam u fazi debele reorganizacije koda, pa hocu da ga maximalno optimizujem, a nisam previse jak sa mysql-om.
Znaci, da li je optimizovanije drzati nazive polja u jednoj tabeli a stvarne vrednosti po itemu u drugoj?
Takodje da li drzanje 4 tipova polja u jednom redu utice na performanse, jer su uvek druga 3 polja prazna?
Ako je ovaj slucaj ok, kako bi isla pretraga ondak po ovako organizovanim dodatnim poljima?
Mozda bih mogao i da postavim novu temu, ko zna...
Vidim da se ovo cesto postavlja kao pitanje, pa da svi to razradimo i testiramo jednom za svagda, da ubuduce ljudi znaju kako (se) ovo radi.