ako ti xml fajl koji dobijas
- uvek sadrzi SVE podatke
- ne sadrzi nikakav unique identifier za svaki slog
najbrze resenje ti je bas to koje si spomenuo, obrises sve i insertujes tih 30K slogova ... to ce da traje par minuta i u svakom slucaju je brze nego da ti "trazis" za svaki slog iz xml-a odgovarajuci u bazi pa ga onda updateujes...
ako XML SADRZI nekakav unique identifier, onda taj identifier treba da koristis kao primarni kljuc (a ne auto increment polje) i onda dalje zavisi od podataka
- ako se podaci "menjaju" - dakle ako slog koji postoji u bazi sada ima neke nove vrednosti - opet ti je brze da odradis drop i rekreiras sve ispocetka
- ako se postojeci podaci ne menjaju nego samo postoje novi - onda mozes da koristis INSERT IGNORE sintaksu i insertujes sve podatke a mysql ce izignorisati one sa vec postojecim unique poljem
obrati paznju da ako radis ovaj insert
1. povecas BULK INSERT BUFFER na mysql-u
2. insertujes podatke BULK a ne jedan po jedan (dakle radis "insert into t1 values (1,1,1,1), (2,2,2,2), (3,3,3,3), (4,4,4,4);" a NE "insert into t1 values (1,1,1,1); insert into t1 values (2,2,2,2); insert into t1 values (3,3,3,3); insert into t1 values (4,4,4,4);" - obrati paznju na max package size ..