[mysql] ile indexow ?
O.R - 29-06-2006 00:42
[mysql] ile indexow ?
Czesc,
Chcialbym sie upewnicy, czy dobrze mysle :) Mam tabele pracownicy_samochody:
id_prac integer id_sam integer
Chce zrobic indeksy w tej tabeli tak, by kazda para pracownik-samochod byla unikalna. Wyszukiwanie bedzie odbywalo sie albo po jednej kolumnie albo po drugiej.
Z tego, co wyczytalem w manualu wynika, ze powinienem zrobic to tak:
indeks1: id_prac, id_sam unique indeks2: id_sam
prawidlowo ?
dzieki, OR
kubik - 29-06-2006 00:43
O.R napisał(a): > Czesc, > > Chcialbym sie upewnicy, czy dobrze mysle :) > Mam tabele pracownicy_samochody: > > id_prac integer > id_sam integer Hmm, duża firma skoro przewidujesz 2 miliardy pracowników i samochodów :)) Chinska? :D
> indeks1: id_prac, id_sam unique > indeks2: id_sam > prawidlowo ? Zasadniczo tak. Pamiętaj też, że sam fakt istnienia indeksu nie oznacza, że baza z niego skorzysta (to tak na przyszłość :).
pozdrawiam Adam Kubiczek
Antoni Jakubiak - 30-06-2006 00:08
> Chcialbym sie upewnicy, czy dobrze mysle :) > Mam tabele pracownicy_samochody: [..] > indeks1: id_prac, id_sam unique > indeks2: id_sam
Teoretycznie tak.
Ale zanim zalozysz indeksy warto sie zastanowci, ile danych bedziesz mial w tej tabeli.
Nie istnieje w Polsce zbyt wiele firmy, dla ktorych konieczne bedzie indeksowanie takich tabel.
=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 30-06-2006 00:08
Antoni Jakubiak wrote: >> indeks1: id_prac, id_sam unique >> indeks2: id_sam > Nie istnieje w Polsce zbyt wiele firmy, > dla ktorych konieczne bedzie indeksowanie > takich tabel. Nie wiem jak w MySQLu, ale w Oracle:
http://download-uk.oracle.com/docs/c...htm#sthref3103
Concurrency Control, Indexes, and Foreign Keys
You almost always index foreign keys. The only exception is when the matching unique or primary key is never updated or deleted.
(...)
Unindexed foreign keys cause DML on the primary key to get a share row exclusive table lock (also sometimes called a share-subexclusive table lock, SSX) on the foreign key table. This prevents DML on the table by other transactions.
W innych bazach zapewne jest podobnie.
-- Michał Kuratczyk
Antoni Jakubiak - 30-06-2006 00:08
> You almost always index foreign keys. The only exception is when the > matching unique or primary key is never updated or deleted.
racja
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.plred-hacjenda.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|