From: Jim Starkey Date: December 15 2008 4:27pm Subject: Falcon Index Keys List-Archive: http://lists.mysql.com/falcon/308 Message-Id: <49468585.8000507@nimbusdb.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Falcon index keys are designed to compare naturally byte-wise so that index code doesn't need to worry about data types, multi-segment keys, and collation sequences. The theory is that index processing involves a lot of comparisons, and making the comparisons as cheap as possible is the best strategy. Collations and multi-segment handling both fluffy up the index, possibly to the extent that the strategy needs to be reviewed. An alternative I've used in Nimbus is to use EncodedDataStreams to encode index keys. It requires more processing per comparison but the keys, particularly multi-segment keys, are smaller. Prefix compression isn't as nice (but isn't an issue in Nimbus), which is a significant consideration. I'm not recommending that Falcon change key formats, particularly for this version. But the issue is well worth periodic reconsideration. -- Jim Starkey President, NimbusDB, Inc. 978 526-1376