[ dragancesu @ 24.12.2012. 11:37 ] @
Pokusavam nesto da unapredim u firmi pa sam krenuo sa bazom i naravno nailazim na problem. Nisam pocetnik sa bazama ali neke stvari ne razumem kako uraditi i napisati, evo podataka:

Baza: prenos
User: prenos
tabela: partner ( partner char(5), naziv varchar(40) )

Baza: prom2012
User: prom2012
tabela: partner ( partner char(5) primary key, naziv varchar(40) )

Ono sto sam odradio je ubacivanje podataka u prenos.dobavljac i to odradi brzo. I onda bi trebalo azurirati prom.dobavaljac sa novim iz tabele prenos.partner polje partner, nesto kao

INSERT INTO prom2012.partner
SELECT partner, naziv FROM prenos.partner
WHERE prom2012.partner NOT IN ( SELECT partner FROM prenos.partner )

Jos mi nije jasno kako namestiti da USER prom2012 vidi tabele USER-a prenos, tj kako napisati GRANT. ZA primer neka se server bude localhost.

****

U medjuvremenu sam usepo naci neko resenje

use prom2012;
insert ignore into prom2012.partner
select partner, naziv from prenos.partner;

Koliko je to dobro?






[Ovu poruku je menjao dragancesu dana 24.12.2012. u 13:47 GMT+1]
[ bogdan.kecman @ 24.12.2012. 17:05 ] @
pazi sad ovo, super je sto ti znas o cemu pricas, ja sam 3 puta procitao tvoj post i nemam pojma sta si pitao :(
[ dragancesu @ 25.12.2012. 04:22 ] @
Ukratko, poznajem baze ali ova mi je nova ne vladam bas terminologijom ove baze, ali naucicu.

Imamo stari informacioni sistem, pisan na clipperu ali jos radi i skoro nece biti zamenjen jer o tome odlucuje neko drugi. Problem ili usko grlo postaju izvestaji jer ima mnogo podataka i mnogo zahteva. Prometnih stavki ima oko 10 miliona i kako god optimizovali traje oko pola sata. Resih da malo osavremenim pa da prebacim na bazu jer to mora biti efikasnije tj brze i posto niko nema nameru da nesto placa mora biti neka free pa da probam MySQL.

I onda dolazi na red prebacivanje podataka. Probao sam load data i to je proslo odlicno, desetak miliona slgova je ucitano za 6 minuta, ostale tabele su manje i to ne proslo samo tako. Ali sistem radi i svaki dan dolaze novi podaci koje treba ubacivati. Maticni podaci su reda velicine oko 5000 redova, promet je malo veci, nekoliko je velicine 200000 redova, najveca deset miliona redova. Maticni ce se retko menjati pa bi se dodavalo nijedan do desetak slogova dnevno, promet se povecava 10-50 hiljada redova dnevno.

Ono sto me muci kako to organizovati pa sam zamislio da ima jedna produkciona baza (recimo prom2012) i jedna radna (prenos). U tabeli prenos bi se ubacivali novi podaci i onda nove jednim insertom prebaciti u produkcionu bazu.

Moram priznati da mi nisu sve opcije INSERT nisu bile jasne ali sam po primerima shvatio da IGNORE verovatno radi ono sto mi treba, ubacuje samo nove. Nadam se da je sada jasno sta je pisac hteo da kaze. I da pitam da li dobro razmisljam? Da li ovako i drugacije organizovati prenos podataka?








[Ovu poruku je menjao dragancesu dana 25.12.2012. u 13:57 GMT+1]