-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: Borneq <b...@a...hidden.pl>
Newsgroups: pl.comp.programming
Subject: Re: Projektowanie bazki danych
Date: Sun, 23 Dec 2018 13:49:29 +0100
Organization: ATMAN - ATM S.A.
Lines: 28
Message-ID: <pvo08p$f3f$1@node1.news.atman.pl>
References: <pvlfmg$5a5$1@node2.news.atman.pl>
<e...@g...com>
NNTP-Posting-Host: public-gprs362084.centertel.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1545569369 15471 37.47.45.165 (23 Dec 2018 12:49:29 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sun, 23 Dec 2018 12:49:29 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
Thunderbird/60.3.3
In-Reply-To: <e...@g...com>
Content-Language: pl
Xref: news-archive.icm.edu.pl pl.comp.programming:213053
[ ukryj 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-18 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-18 Warszawa => Software .Net Developer <=
- 2024-05-18 Warszawa => Mid/Senior QA Engineer <=
- 2024-05-18 Ulm => Solution Architect (sichere Kommunikation und IoT-Loesungen <=
- 2024-05-18 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-05-18 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-18 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-18 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=
- 2024-05-18 Łódź => Handlowiec - Systemy CRM <=
- 2024-05-17 ZŁOMNIK o pracy w TVN TURBO, nowych przepisach i współczesnej motoryzacji. Turbo Taryfa!
- 2024-05-17 Białystok => DevOps Engineer Conexa First (Contractor) <=
- 2024-05-17 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-17 Zabrze => Junior HelpDesk <=