LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: článek MySQL (16) - Tipy a triky k manipulaci s daty

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
PRIMARY KEY 29.4.2005 23:27 Josef Panak
Primární klíč 1.5.2005 20:35 Petr Zajíc
ještě k odstranění duplicit 5.5.2005 07:03 pogik
L Re: ještě k odstranění duplicit 7.5.2005 17:37 Petr Zajíc
  L Re: ještě k odstranění duplicit 11.5.2005 08:04 MaReK Olšavský
INSERT a DELETE 1.6.2006 09:31 Aleš Dostál
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4888x
2. FreeBSD
Download: 9078x
3. PCLinuxOS-2010
Download: 8573x
4. alcolix
Download: 10962x
5. Onebase Linux
Download: 9668x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6255x

1. xinetd
Download: 2425x
2. RDGS
Download: 937x
3. spkg
Download: 4778x
4. LinPacker
Download: 9982x
5. VFU File Manager
Download: 3206x
6. LeftHand Mała Księgowość
Download: 7210x
7. MISU pyFotoResize
Download: 2819x
8. Lefthand CRM
Download: 3571x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3133x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz