Dear,
Let:
create table DATA (
DKEY blob primary key not null,
DBYTES blob not null );
DKEY always stores 32 bytes, inserted as blob.
DBYTES stores anything, inserted as blob. Size varies widely, from some about
100 bytes to some hundreds Kilo-bytes.
Page size is default (4K).
These rows are never updated, only inserted (or selected) and very rarely
deleted.
Will:
select length(DBYTES) from DATA where DKEY=x'...';
be relatively light to retrieve the length(DBYTES) in some rare cases I'd need
it (without needing the actual content)? Or will this have the unwanted
side-effect to force sqlite to read all the content of DBYTES?
I know the encoding of the blob in the row has its size upfront, so I'd guess
I'd be right to expect it won't do unneeded I/O to return the length(). But I'm
not sure of this and wonder if I'd better cache the size in a separate column
as in:
create table DATA (
DKEY blob primary key not null,
DSIZE integer not null,
DBYTES blob not null );
So if someone can confirm/infirm this assertion (about length(DBYTES) not
involving needless I/O), I'd love to read you.
Thanks!
--
Best Regards, Meilleures salutations, Met vriendelijke groeten,
Olivier Mascia, http://integral.software
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users