On 2011-10-24 12:13, Vincent Snijders wrote: > > I consider this bad advice. GUID are bad primary keys, because of > their size and the fact they are not sequential by design.
We did some speed tests between GUIDs (Char(36) as used by tiOPF which strips some chars from a normal GUID) and Int, String type primary keys. Yes GUID's were slightly slower, but not by a margin that the end-user would notice. The convenience of having a truly unique primary key even across databases and having the primary key available before the data is inserted into a database, far outweighed the cons. At least for us. Regarding your comment about sequential primary keys. In my opinion, it is highly debatable if PK should be in a sequential order or if its values should in any way be related to the data or not. I strongly believe it shouldn't relate to the data at all, just like I believe a primary key must not consist of multiple data fields. To me, a database is simply a storage location for my data. Primary Keys are simple part of the data structure a database uses to retrieve my data. Anyway, I have no intention to debate this further. The internet is full of such message threads already. As I said, based on our needs, GUID's was a perfect fit. Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal