![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 330 Pomógł: 0 Dołączył: 25.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Na jakiej zasadzie działa funkcja indeksowania.
Czy ktoś może mi logicznie wytłumaczyć jak wpływa długość indeksu na szybkość zapytań do bazy danych. Załóżmy że mamy tabele z 1.mln rekordów. wyszukujemy w tej tabeli po polu "IP", które ma maksymalnie 15 znaków. Czy powinniśmy dodać indeks pełne, czy tylko na X znaków, jeśli na X znaków to na ile dokładnie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 2 Dołączył: 5.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
ok, wiem już ze trzymanie ip jako varchar jest nie optymalne, ale powróćmy do tematu. Zakładamy że trzymam ip jako varchar co daje mi nienależenie indeksu i jaką długość powinien mieć indeks. Napisałem - 32bit int i indeks na to. Jeżeli też uważasz że mamy ipv6 od 95r to musisz faktycznie przekopać googla i znaleźć jakieś hybrydowe rozwiązanie. Po pierwsze adresu IP nie przechowuje się jako INTEGER-a, bo mamy już takie coś jak IPv6, którego wersja liczbowa ma 128-bitów. MySQL nie jest zbyt pomocy w tej kwestii, ale Google i mysql store ipv6 daje sporo rezultatów. Gdzię mamy (IMG:style_emoticons/default/wink.gif) ? U siebie w domu chyba. ^^ . Podążając tym samym tropem to mamy go już od 95 r. Wszystko dalej pracuje na ipv4. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 09:59 |