🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi.bazy-danych
Article #82902

Re: Co wybrac - Identity czy sekwencje

#82902
From: Krzysztof Szyszka
Date: Tue, 20 Feb 2018 18:59
40 lines
3585 bytes
> > Jeśli nałożymy indeks na tę kolumnę to szukanie będzie błyskawiczne, niezależnie od tego czy 
> > dane w tej kolumnie będą sekwencyjne.
> Wyszukiwanie będzie szybsze, ponieważ użyty zostanie indeks.
> Ale nie zostanie użyte wyszukiwanie w indeksie, tylko skanowanie indeksu. Taka to drobna 
> różnica...
> Oczywiście to i tak lepiej niż full-scan-table, ale gorzej niż index-seek.

Tak sobie czytam te wasze rozważania i mam kilka uwag:

Dlaczego uważasz, że "nie zostanie użyte wyszukiwanie w indeksie, tylko skanowanie indeksu"?
Przecież po to zakłada się indeks na danym polu, żeby wyszukiwać po indeksie, bo indeks z założenia 
jest zawsze sekwencyjny,
a głównym kosztem wyszukiwania po indeksie jest czas porównania indeksowanych wartości, który zawsze 
będzie większy dla
stringów, niż dla prostego INT.

Skoro wartości w kolumnie są sekwencyjne, to indeks założony na tej kolumnie będzie powielał 
kolejność rekordów w tabeli.
Zyskiem podczas wyszukiwania jest odczyt indeksu o mniejszych rozmiarach, zamiast odczytu pełnych 
rekordów z tabeli.
Natomiast aktualizacja takiego indeksu po dodaniu nowych rekordów będzie szybsza, bo jedynie 
dopisujemy kolejne wartości
na końcu bez konieczności przebudowywania indeksu na początku, czy w środku i według mnie to jest 
jedyny zysk ze stosowania
sekwencyjnego PK, ale to będzie odczuwalne dopiero przy naprawdę dużych tabelach.

I jeszcze jedno osobiste pytanie: dlaczego wybrałeś jako PK typ rzeczywisty, a nie np. BIG INT 
(Int64), na którym mógłbyś
dokonać takiego samego podziału na numer z bazy danych i numer z licencji, a przy porównaniach 
powinien być szybszy?


-- 
pozdrowienia
Krzysztof Szyszka, X-Files Software
Developer of X-DBGrid Component
Embarcadero Technology Partner
http://www.x-files.pl/
Join to "Delphi X-DBGrid Component Community"
https://plus.google.com/#communities/100842098152269100547 
Technical Details
Message-ID: <p6hr7c$2v2$1@node2.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
References: <b103c4b1-8620-403a-a902-5e4ecd5fe355@googlegroups.com> <b32fab82-19c1-452a-a5c8-45943fa76db7@googlegroups.com> <5a8561ba$0$664$65785112@news.neostrada.pl> <24ef9b49-567a-44b5-acbd-44352e2701d0@googlegroups.com> <d84fb96f-7111-4b1a-b794-e856be8cca9e@googlegroups.com> <ecf4861c-5c5c-4ea8-85c6-2a9277b41a25@googlegroups.com> <97820f04-20f3-4421-a734-bb41bec12300@googlegroups.com> <5a87f6e0$0$559$65785112@news.neostrada.pl> <ca7d63b4-f772-4935-b7f8-2f6cf13405f0@googlegroups.com> <5a8afcf3$0$589$65785112@news.neostrada.pl> <11zhaiuujxyq.dlg@tyczka.com> <cba5c170-8839-4842-aca8-8ca183cb1202@googlegroups.com> <5a8c2046$0$560$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: "Krzysztof Szyszka" <nomail@gazeta.pl>
Newsgroups: pl.comp.lang.delphi.bazy-danych
Subject: Re: Co wybrac - Identity czy sekwencje
Date: Tue, 20 Feb 2018 19:59:40 +0100
Organization: ATMAN - ATM S.A.
Lines: 41
Message-ID: <p6hr7c$2v2$1@node2.news.atman.pl>
References: <b103c4b1-8620-403a-a902-5e4ecd5fe355@googlegroups.com> <b32fab82-19c1-452a-a5c8-45943fa76db7@googlegroups.com> <5a8561ba$0$664$65785112@news.neostrada.pl> <24ef9b49-567a-44b5-acbd-44352e2701d0@googlegroups.com> <d84fb96f-7111-4b1a-b794-e856be8cca9e@googlegroups.com> <ecf4861c-5c5c-4ea8-85c6-2a9277b41a25@googlegroups.com> <97820f04-20f3-4421-a734-bb41bec12300@googlegroups.com> <5a87f6e0$0$559$65785112@news.neostrada.pl> <ca7d63b4-f772-4935-b7f8-2f6cf13405f0@googlegroups.com> <5a8afcf3$0$589$65785112@news.neostrada.pl> <11zhaiuujxyq.dlg@tyczka.com> <cba5c170-8839-4842-aca8-8ca183cb1202@googlegroups.com> <5a8c2046$0$560$65785112@news.neostrada.pl>
NNTP-Posting-Host: 89-77-104-79.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1519153196 3042 89.77.104.79 (20 Feb 2018 18:59:56 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Tue, 20 Feb 2018 18:59:56 +0000 (UTC)
In-Reply-To: <5a8c2046$0$560$65785112@news.neostrada.pl>
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 16.4.3528.331
X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3528.331
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit