We are using iAnywhere verion 9.0.2 with EBF 3044

Many tables use the global autoincrement to generate their primary key.

The partition size on all those tables is set to 10,000

So every couple of weeks we have to go out and add one to the global db id.

Here are my questions:

What would be my best startegy to fix this

1. Up the partition size by adding a couple of zeros?

a.) If I do that, do I just need to do the tables that get a lot of

data, or all tables?

b.) What is the max number of zeros I can add for a data type of

integer.

2. Could I change the field type on an existing database to a GUID?

If I did that, could I just do some tables, or is that not a

recommended method.

Thanks

Loya

You can always use a GUID if that is your preference.

GUIDs are great for automation, not so great in the

human readable department. If these keys are to

have some meaning to people, then using an

unsigned BIG INT or a huge NUMERIC/DECIMAL(n,0)

can be friendlier and less error prone if people must

key in search values etc; and my preference usually.

But sticking with the global autoincrement, adjusting

partition size to suit the degree of churning on a per

table basis is a correct approach. The biggest trick

here is to find your best and safest balance across

all anticipated uses.

For what it is worth partition sizes do not need to

be some power of ten (ie decimal). I am somewhat

fonder of powers of 2 for integer types, but that

is a little less human friendly. In the same vein I

am fond of powers of 10 for BCD type (ie decimal /

numeric).

As to datatypes here are your options and precisions:

Unsigned BIGINT:

0 to 264 - 1, or 0 to 18446744073709551615

Maximal Usable Partition = 10E19 (19 zeros)

Unsigned INTEGER:

0 to 232 - 1, or 0 to 4294967295

Maximal Usable Partition = 10E9 (9 zeros)

DECIMAL/NUMERIC:

precision An integer expression between 1 and 127

Maximal Usable Partition = precision (up to 126 zeros)

Smaller integer types are going to be less.

Nick,

Thanks for all the great information!

Loya

No problem ...

For what it is worth my Maximal Usable Partion

sizes are missing a decimal point. In stead of,

say,

10E19 (19 zeros)

that should have been

1.0E19 (19 zeros)