Performance warning: No unique index or primary key for table %1 in database %2

This warning is reported when a table is updated that contains more than 10 rows and that does not have a primary key or a unique index.

In SQL Anywhere, the transaction log contains logical row operations (UPDATE, INSERT, and DELETE) rather than the changes to physical pages. Row operations in the transaction log are identified by primary key or unique index value, so that if you recover a database, the updated values for that operation in the transaction log can be applied to the correct row. If no primary key or unique index exists, then all of the values in the row are used as the row's primary key. This behavior can result in significant transaction log growth. A table that does not have an index may result in slow database recovery times.

 See also