-
Data: 2018-12-23 13:49:29
Temat: Re: Projektowanie bazki danych
Od: Borneq <b...@a...hidden.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 22.12.2018 o 21:09, s...@g...com pisze:
> A słyszał Ty o "wyszukiwaniu zewnętrznym" i B-drzewach?!? W starej książce
"Algorytmy w C++" Roberta Sedgewicka wydanej w Polsze 1999 przez wydawnictwo RM jest
na końcu rozdział (16) o tym.
Właśnie czytam o B-drzewch w książce Moliny - najciekawszy rozdział.
Indeks może zmieścić się w pamięci cały, tym niemniej co gdy będziemy
chcieli wykonać
select * from table where warunek_jakis limit 1000
?
Będziemy mieli 1000 wskaźników na rekordy, które mogą być porozrzucane.
Jak zrobić B-drzewo:
otóż mam blok pamięci w a nim kolejno:
key0,ptr0,key1,ptr1,key2,ptr2,...keyn,ptrn,
jeśli wartość będzie pomiędzy key1 a key2 to szukamy bloku ptr1
szczegóły implementacyjne:
optymalną wielkością dla bloku będzie 4 kiB, jest to wielkość która
pokrywa się z wielkością sektora dyskowego czy 2^n sektorów, klastrem
dyskowym oraz z wielkością wymiany pamięć-dysk Intela.
Wielkość wskaźników to 8 bajtów, klucze w najprostszej postaci to też 8
bajtów (mógłby być przypadek, że klucz to pole char(40), można się zająć
tym później)
4096 bajtowy blok miałby 8 bajtowy nagłówek, reszta podzielona była by
na sloty (klucz,pointer). Wynika że maksymalnie tych slotów mogło by być
255, czyli dobrze się składa, bo ilość slotów zapiszemy w 1 bajcie w
nagłówku.
Teraz należy przy dodawaniu pomyśleć, aby b-drzewo było mniej więcej
wyważone.
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-26 O co chodzi?
- 2024-05-26 PJ autobus-tramwaj
- 2024-05-26 Renault Trafic i lampka z czerwonym STOP
- 2024-05-26 cena pięciocyfrowa
- 2024-05-26 Re: Jak dobra KE "okrada" złą Rosję "dla Ukrainy"
- 2024-05-25 supercap
- 2024-05-25 Sulzbach => Technischer Rollouter (d/m/w) <=
- 2024-05-25 Warszawa => Senior Account Manager <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Interactive/Experience Designer <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Re: znów ten wrocław