Simple answer: Don't!

This sounds like a misguided attempt to save space in the disk image by messing 
around with the rowid of a table (which is what "integer primary key" declares 
the column to be an alias of).

Whatever you stuff in there needs to be unique and, if you intend to use 
foreign keys, stable (unless you want to incur anomalies on updates). 
Additionally, SQLite may assign a completely different rowid (i.e. clobber your 
"packed field values") when running the REPLACE conflict resolution algortihm.

SQLite is already very good at saving space on disk. The most common values 
(NULL, 0 and 1) are stored using only 1 byte in the record header and other 
integer values only use the minimal number of bytes required to store the value.

-----Urspr√ľngliche Nachricht-----
Von: sqlite-users [] Im 
Auftrag von x
Gesendet: Donnerstag, 10. August 2017 09:45
Betreff: [sqlite] Packing integer primary key with field bits

As in cramming numerous integer columns into a 64 bit integer.

Does anyone do this?

Is the speed gain worth the additional confusion of extracting the columns from 
the key?

How is it best accomplished (virtual table maybe)?
sqlite-users mailing list

 Gunter Hick
Software Engineer
Scientific Games International GmbH
FN 157284 a, HG Wien
Klitschgasse 2-4, A-1130 Vienna, Austria
Tel: +43 1 80100 0

This communication (including any attachments) is intended for the use of the 
intended recipient(s) only and may contain information that is confidential, 
privileged or legally protected. Any unauthorized use or dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please immediately notify the sender by return e-mail message and 
delete all copies of the original communication. Thank you for your cooperation.

sqlite-users mailing list

Reply via email to