🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Co wybrac - Identity czy sekwencje

#82895
From: zpksoft
Date: Fri, 16 Feb 2018 07:58
26 lines
3431 bytes
W dniu czwartek, 15 lutego 2018 11:32:40 UTC+1 użytkownik wloochacz napisał:
> W dniu 2018-02-15 o 09:09, zpksoft pisze:
> > W dniu wtorek, 13 lutego 2018 12:24:43 UTC+1 użytkownik Pancio napisał:
> /ciach/
> 
> > W ogóle nie używam identyfikatorów liczbowych. Wyłącznie łańcuchowe. Zero problemów. Jeśli masz wybór to zastanów się nad tym. Bardzo duże bazy są oparte tylko na takich identyfikatorach. Zobacz np. filmiki na Youtube: https://youtu.be/jOqktpxdGxg <- tu ID=jOqktpxdGxg. Nie muszą martwić się że gdzieś w sieci ktoś podwójnie zlicza ID. Dodatkowym atutem jest to że taki identyfikator tworzy klient więc może posłużyć się nim zanim wpisze rekord do bazy (!).
> 
> Jeżeli wartość takiego identyfikatora jest generowana jako rosnąca 
> funkcja monotoniczna, to jest najgorsze z możliwych rozwiązań, jeśli 
> idzie o wydajność.
> 
> Powoduje to poważne problemy z sortowaniem i fragmentacją indeksów. 
> Chcesz mieć pofragmentowany indeks Primary Key - używaj takich 
> identyfikatorów.
> 
> I właśnie dlatego np. w MS SQL jest specjalna funkcja do kreowania 
> GUIDów sekwencyjnych:
> https://docs.microsoft.com/en-us/sql/t-sql/functions/newsequentialid-transact-sql
> 
> -- 
> wloochacz

Lata temu stosowałem GUID do tego celu, ale już od dawna stosuję inne rozwiązanie. U mnie identyfikatory łańcuchowe można by rzec są sekwencyjne, można nawet wyliczyć z nich czas powstania.
Niedawno jedna z baz które obsługuję przekroczyła 1TB i można by rzec że chodzi jak młódka. Ogólnie trudno jest przekonać programistów do tego typu identyfikatorów (bojaźń?). Niedawno miałem za zadanie zsynchronizować dwie bazy, ale w pewnym zakresie. Kilka tabel miało identyfikatory liczbowe. Niesamowitą jazdę z tym miałem bo właśnie liczbowe identyfikatory się powtarzały. Nie obeszło się bez zmian logiki w pluginie którego te tabele dotyczyły.

Paweł
Technical Details
Message-ID: <24ef9b49-567a-44b5-acbd-44352e2701d0@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!o66no310238ita.0!news-out.google.com!m16ni1134itm.0!nntp.google.com!o66no310235ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!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>

Show Full Headers
Complete Article Headers
X-Received: by 10.107.3.225 with SMTP id e94mr795458ioi.7.1518767919733;        Thu, 15 Feb 2018 23:58:39 -0800 (PST)
X-Received: by 10.157.22.195 with SMTP id s3mr188769ots.13.1518767919492; Thu, 15 Feb 2018 23:58:39 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!o66no310238ita.0!news-out.google.com!m16ni1134itm.0!nntp.google.com!o66no310235ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.delphi.bazy-danych
Date: Thu, 15 Feb 2018 23:58:39 -0800 (PST)
In-Reply-To: <5a8561ba$0$664$65785112@news.neostrada.pl>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=83.22.243.181; posting-account=8ND_mgoAAAD5J9y9fnaTB1Kcu7xKWk7Q
NNTP-Posting-Host: 83.22.243.181
References: <b103c4b1-8620-403a-a902-5e4ecd5fe355@googlegroups.com> <b32fab82-19c1-452a-a5c8-45943fa76db7@googlegroups.com> <5a8561ba$0$664$65785112@news.neostrada.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <24ef9b49-567a-44b5-acbd-44352e2701d0@googlegroups.com>
Subject: Re: Co wybrac - Identity czy sekwencje
From: zpksoft <zpksoft@op.pl>
Injection-Date: Fri, 16 Feb 2018 07:58:39 +0000
Lines: 51
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit