![]() |
![]() |
![]()
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%) ![]() ![]() |
Dobra widzę, że muszę konkretniej pisać.
Nie ma możliwości aby użytkownicy posiadający stricte ipv4 komunikowali się z tymi co mają stricte ipv6. Zawsze gdzieś musi wystąpić tunelowanie z ipv4 do ipv6 lub odwrotnie. Jeżeli dzisiaj ktoś posiada ipv6 to nie może praktycznie korzystać z internetu, ponieważ nie ma do tego przystosowanego sprzętu czy usług - rochodzi się o serwery dns, usługi takie jak poczta itd. Nikt dzisiaj się nie pcha w ipv6, ponieważ nie daje to nikomu wymiernych korzyści, a wymaga to przebudowy serwerów i nie opowiadaj mi tu bajek zaraz że wszystkie serwery czy te "dobre" są już dawno gotowe tylko komuś gdzieś się nie chce ich przełączyć, albo że będzie to stopniowo wprowadzane. Dlaczego nie ? Internet to nie są tylko serwery, które stoją np. na najnowszych jądrach linuxa, które radzą sobie z ipv6. Tych serwerów jest znikomy procent. A więc każdy usługodawca musi swoje serwy postawić na nowo. Poza tym nie ma dobrych zabezpieczeń do protokołu ipv6, zarówno od warstwy sieciowej kończąc na zabezpieczeniach chociażby deamonów www. Jak cała sieć globalna będzie sobie radzić bardzo dobrze z ipv6 jak i z ipv4 i wszyscy będą sobie ewentualnie tunelować gdy zajdzie potrzeba to będzie to już wprowadzenie ipv6. Przecież nikt nie będzie chciał usługi ipv6, która nie pozwoli w pełni korzystać z internetu. Taka usługa by się w ogóle nie sprzedawała. Cały internet musi przejść na ipv6 żeby to miało sens. Nie chodzi tu o to że nikt już nie będzie korzystał z ipv4, tylko wszystko będzie przystosowane do obsługi ipv6! Zanim to nastąpi minie jeszcze spokojnie 10 lat, ponieważ nic się aktualnie w tej sprawie nie dzieje. I takie są rokowania osób, które mają o tym głębsze pojęcie. Możesz tutaj opowiadać ipv6 wejdzie za za rok czy dwa i siać panikę że wszystko przestanie działać (jak w roku 2000) ale tak nie będzie. Więc dzisiaj kazanie komuś aby koniecznie projektował sobie stronę, czy przerabiał bazę jest przynajmniej dla mnie idiotyczne z czym możesz się nie zgodzić, bo masz do tego demokratyczne prawo. Tym bardziej że rozmawiamy tutaj o tabeli, która ma indeksować ip'ki a nie o wielkich projektach, w których kluczową sprawą jest adres ip, aby w ogóle podejmować dyskusję na ten temat. Jak będzie ipv6 wprowadzone na dobre wówczas sobie zmieni typ kolumny w bazie i tyle. Baza będzie już przystosowana do obsługi ipv6 i wsio. A teraz zamiast zyskać na szybkości (indeksy) będzie miał super bazodanową hybryde do obsługi ipv6 (lub specjalny typ w postgresie), która nie obsługuje indeksów czyli dalej będzie jechał na tym samym i dalej będzie szukać jakiś innych rozwiązań, które przyśpiesza działanie w bazie. Jak wejdzie ipv6 to i tak ją zapewne przerobi na specjalny typ bo pewnie się coś innego pojawi. Zabieg ten jest bardzo prosty i nie wymaga wielkiego wkładu, więc mając na szali dzisiaj twoje kolumny w postgresie a dobre i szybkie, sprawdzone indeksy ipv4 w mysqlu wybieram MySQL'a i IPv4. Za 10 lat, ba nawet wystarczy i 5 i tak będzie trzeba musowo przerobić stronkę czy aplikację bo będzie 100 lat za murzynami. Ale w Polsce normalne jest to, że mamy samych specjalistów od wszystkiego więc niech użytkownik sam zdecyduje, poczta w necie i uzna co będzie dla niego lepsze. Ma dwa stanowiska różne niech wybierze coś dla siebie (IMG:style_emoticons/default/wink.gif) Pozdr |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 09:58 |