On Thu, Nov 30, 2017 at 11:52 AM, Keith Medcalf <kmedc...@dessus.com> wrote:
> On Thursday, 30 November, 2017 09:27, J Decker <d3c...@gmail.com> wrote:
> >> UUIDs are nice though if you don't have a natural key available and
> >> you are generating keys on multiple systems. Sadly, they are strings
> >> in sqlite, and it would be more efficient to store and compare them
> >> as their 128-bit representation. Is there an extension that can do
> >> that?
> Just store them as a 16-byte blob. What's the problem?
> >I would also like to make a note, that many criticisms are 'there's
> >so many bytes to have to compare', however, because of the highly
> >random nature of good UUIDs failure occurs quickly, usually within
> >4 bytes, which makes it almost as good as an integer
> Or just use randomblob(16) ...
The problem with that is continual reformatting
> >(especialy for things like SQLite that are comparing numbers as
> >strings anyway).... the only time the full thing is compared is
> >on the row that exactly matches.
> I do not know what version of SQLite3 you are using, but according
> to the source code, only strings are compared as strings. Everything
> else is compared using the appropriate Affinity -- Double to Double,
> Integer to Integer, BLOB to BLOB, etc.
Hmm; I thought it did store numbers as binary; but over the years of
watching various messages on this list, I got the idea that numbers were
being stored as strings also and haven't double checked.... my bad. Maybe
it something about dates...
> The fact that there's a Highway to Hell but only a Stairway to Heaven says
> a lot about anticipated traffic volume.
> sqlite-users mailing list
sqlite-users mailing list