Autor Zpráva
JosPol
Profil
Ahoj,

1. Chci převézt data z jedné tabulky (aktualizační) do tabulky druhé (stávající).
V tabulce stávající mi stačí zachovat nastavení indexů.

2. Tabulka stávající obsahuje některé sloupce, které bych chtěl ponechat. Napadá mě je oddělit i s primárním klíčem do jiné tabulky, naexportovat nová data a poté sloučit podle primárního klíče.

Tabulky obsahují cca 1,5 milionu dat.

Prosím o radu, jak nejlépe na to.

Díky moc!
Kajman
Profil
Pokud uděláte ten Váš nápad s druhou tabulkou, tak si můžete udělat i třetí, na kterou přejmenujete aktualizační tabulku. Místo první pak uděláte view, které spojí obě tabulky a bude mít stejné sloupce jako původní tabulka. Pak byste možná nemusel ani upravovat moc kódu v aplikaci (snad jen úpravy, pokud si to neošetříte triggery nad view).

Nebo uděláte jednoduše tři dotazy dle primárního klíče
- update těch, které jsou v obou tabulkách
- insert těch, které v původní tabulce nejsou
- smazání těch, které nejsou v aktualizační tabulce

V některých databázových systémech lze některé z těch tří kroků spojit do jednoho dotazu.

Pro hromadné vkládání možná bude lepší dočasně vypnout/zrušit indexy jiné než primární klíč a pak je zase nahodit. Ale závisí i na datech, to si musíte změřit, jestli to bude přínos nebo zpomalení.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: