![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 71 Pomógł: 4 Dołączył: 3.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tworzę sobie przykładową tabelę. No dajmy na to taką:
I wszystko jest "prawie" dobrze. Tabela się stworzyła ale... mam ostrzeżenie, że INDEX i UNIQUE nie mogą dotyczyć tego samego pola. Jednakże ja wiem, że pole t_login ma być zarówno indeksem jak i będzie unikatowe (np tabela użytkowników forum gdzie t_login jest unikatowym loginem każdego użytkownika). Z tego co przeczytałem: INDEX Cytat Indeksy pozwalają na szybsze przeszukiwanie bazy danych, ale za to więcej czasu zajmuje operacja aktualizacji (UPDATE) dla tabeli ze zdefiniowanym indeksem. UNIQUE Cytat Za pomocą UNIQUE można ustalić, które kolumny mają być unikalne. To znaczy, że wszystkie wartości w kolumnie dla której ustalono UNIQUE muszą być niepowtarzalne w każdym wierszu tabeli. Pierwsze (i na razie jedyne) co mi się nasuwa na myśl jest to, że z nałożenia klauzuli UNIQUE na jakieś pole wynika, że to pole będzie też polem indeksowania rekordów. Jednakże nie działa to w drugą stronę, że z nałożenia INDEXu wynika, że dane pole będzie musiało być unikatowe co zresztą sprawdziłem. A jak jest naprawdę z tymi klauzulami INDEX i UNIQUE? Czy dobrze myślę czy też źle? Ten angielski maual MySQL'a nie za bardzo potrafię zrozumieć. Ten post edytował achaja 3.05.2009, 20:36:20 -------------------- Pozdrawiam serdecznie
Krzysiek |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
UNIQUE to też indeks z tym, że dane z kolumn objętych jego działaniem muszą być unikalne.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 07:58 |