|
|
PRIMARY KEY
|
29.4.2005 23:27
Josef Panak
|
Chcem sa opytat nemal by v tejto casti
create table bezduplicit like duplicity;
alter table bezduplicit add primary key (soucastka);
insert ignore bezduplicit select * from duplicity;
drop table duplicity;
rename table bezduplicit to duplicity;
byt miesto primary key(soucastka)
UNIQUE KEY `soucastka` (`soucastka`)
Predsa unikatnym klucom dosiahnem to , aby som nemal v stlpci duplicity a nie obycajnym primarnym. Ak sa mylim tak sa ospravedlnujem. |
|
|
Primární klíč
|
1.5.2005 20:35
Petr Zajíc
|
Zdravím,
primární klíč je vždy jedinečný, takže by to šlo oběma způsoby. Problém je, že seriál ještě nerozebíral ani klíče, ani indexy, takže se mi o tom nechtělo moc rozepisovat.
Z manuálu:
"... jestliže je stejná hodnota primárního klíče nebo jedinečného indexu ..."
|
|
|
ještě k odstranění duplicit
|
5.5.2005 07:03
pogik
|
nebylo by jednodušší provést dotaz podobný tomuto?
create table bezduplicit select distinct soucastka from duplicity;
pak stačí přejmenovat tabulku a je to. Máte to i s možností, že položky ze staré tabulky můžete seřadit, omezit a tak dále. Navíc (opravte mne, jestli se pletu) když se nastaví primární klíč tabulce až po zaplnění daty, mělo by to být rychlejší a index by mohl být "debordelizovaný". To jen taková ůvaha na okraj |
|
|
Re: ještě k odstranění duplicit
|
7.5.2005 17:37
Petr Zajíc
|
Jasně, to by se dalo. A když to bude z pěti tabulek, tak čtyři UNIONY. Ale v seriálu se to ještě nerozebíralo; jen jsem chtěl ukázat jednu z mnoha možností.
Příklad má ještě jeden kosmetický problém - ono to totiž bude poměrně pomalé. Jak s oblibou tvrdí Marek Olšavský - naplnění tabulky jednorázově a přebudování všech indexů může být až řádově rychlejší.
Ještě mě napadlo, že s použitím DISTINCT to bude mnohem méně názorné, pokud musí být zajištěna identita ve "více než jednom, ale méně než všech" sloupcích. |
|
|
Re: ještě k odstranění duplicit
|
11.5.2005 08:04
MaReK Olšavský
|
On má totiž to naplnění a budování indexů vyzkoušený... BSDčko mi vždy zastřelilo PgSQL, když se do něj plnily zůčtovací data (na počátku roku jen 4.9 mil záznamů), protože pořád zpomalovalo a zpomalovalo, jak při vkládání řádku přebudovávalo indexy, až žralo tolik času, že systém usoudil, že se jedná o spadlou aplikaci a "zastřelil jí". Když jsme indexy zrušili, naplnili data a vytvořily indexy, bylo po problému. :-) |
|
|
INSERT a DELETE
|
1.6.2006 09:31
Aleš Dostál
|
Ne vždy se dá použít INSERT a DELETE.
Psal jsem zde o tom příspěvek:
http://interforum.interval.cz/ShowPost.aspx?PostID=30849 |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|