Article View: pl.comp.lang.delphi.bazy-danych
Article #82898Re: Co wybrac - Identity czy sekwencje
From: wloochacz
Date: Mon, 19 Feb 2018 21:53
Date: Mon, 19 Feb 2018 21:53
44 lines
3779 bytes
3779 bytes
W dniu 2018-02-19 o 18:28, Roman Tyczka pisze: > On Mon, 19 Feb 2018 17:36:02 +0100, wloochacz wrote: > >>> Początkowo, właściwie dla prób wykorzystywałem GUID. Ten brak sekwencyjności nie bardzo mi przeszkadzał bo user pyta zwykle o różną kolejność danych. >> Skoro tak piszesz, to chyba nie do końca rozumiesz jak działa baza >> relacyjna. >> >>> Chciałem zbudować uniwersalny ID łańcuchowy w którym zakodowany byłby czas i losowość. Udało mi się opracować identyfikator 12 znakowy np. wygenerowany w tym momencie: "1OeS9r2JykUj". Mogę z niego odczytać czas powstania z dokładnością do dwóch milisekund. Czas zawarty jest w członie "1OeS9r". Stosuję te identyfikatory mniej więcej od czerwca 2005 roku i jeszcze nigdy w żadnej bazie nie miałem błędu powstania dwóch takich samych identyfikatorów. >> Unikalność to nie problem, ale co z sekwencyjnością? > > Tak z ciekawości... po co sekwencyjność w PK? Performance! > PK ma za zadanie gwarantować > unikalność i to jest jego fundamentalna cecha. Tak, ale co wyszukiwaniem danych? A wyszukiwanie to również złączenia. > Baza i tak jak potrzeba to > ma jakieś kolumny z timestampem czy innym kluczem trzymającym sekwencyjność > w jakimś kontekście typu data urodzenia, data sprzedaży, numer kolejny > dokumentu sprzedaży itp. Po co więc tak bardzo forsujesz konieczność > posiadania sekwencyjności w PK? No naprawdę... Pierwsze z brzegu: https://tomharrisonjr.com/uuid-or-guid-as-primary-keys-be-careful-7b2aa3dcb439 Krótko: fragmentacja, a to nas prowadzi do kolejnych wniosków: https://blog.sqlauthority.com/2007/03/30/sql-server-index-seek-vs-index-scan-table-scan/ itd. itp. W każdej bazie jest mniej więcej podobnie. Poza tym, Paweł pisze o tym, że taki YT ma coś jak UUID jako klucz. Nie wydaje mi się. Wydaje mi się, że na zewnątrz jest to UUID, ale wewnątrz systemu jest to inna wartość (np. Int64), która nie jest eksponowana na zewnątrz. Ale w sumie nie mam na moje "wydaje się" dowodów na to i nie chce mi się szukać. -- wloochacz
Technical Details
Message-ID:
<5a8b4761$0$680$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.telefonica.de!telefonica.de!ecngs!feeder.ecngs.de!81.171.118.61.MISMATCH!peer01.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<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>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.telefonica.de!telefonica.de!ecngs!feeder.ecngs.de!81.171.118.61.MISMATCH!peer01.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Subject: Re: Co wybrac - Identity czy sekwencje Newsgroups: pl.comp.lang.delphi.bazy-danych 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> From: wloochacz <wloochacz@no.spam.gmail.com> Date: Mon, 19 Feb 2018 22:53:36 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <11zhaiuujxyq.dlg@tyczka.com> Lines: 44 Message-ID: <5a8b4761$0$680$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 83.23.143.110 X-Trace: 1519077217 unt-rea-a-01.news.neostrada.pl 680 83.23.143.110:50718 X-Complaints-To: abuse@news.neostrada.pl X-Received-Bytes: 3565 X-Received-Body-CRC: 3377922314 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit