Features:
Keys are only allowed on Managed objects.
Allows the application to quickly and efficiently navigate to a unique Managed object or group of Managed objects.
Supports unique, non-unique, ordered and unordered keys and queries.
Cost:
Each key requires additional processing resources at object creation time, additional shared memory resources.
Usage:
Use keys as you would use an index in a database.
Use unique keys instead of extent iteration for finding a single object.
Use non-unique keys instead of extent iteration for finding a group of ordered or unordered objects.
Avoid:
Using keys on objects that don't require navigation to find them.
Defining unnecessary key fields.