Indexes improve the performance of searches on the indexed attributes (database columns to which the MBO attributes map), by ordering a table's rows based on the values in some or all the attributes. An index locates rows quickly, and permits greater concurrency by limiting the number of database pages accessed. An index also provides a convenient means of enforcing a uniqueness constraint on the rows in a table.
Object query definition | Description |
---|---|
select x.fname, x.lname from Customer x where x.state := :state and x.city := :city |
Create one index on the attributes "state" and "city" of the "Customer" MBO. |
select x.fname, x.lname from Customer x where x.state := :state or x.city := :city |
One query can only generate one index, all the attributes referenced in the query construct a composite index. |
select x.fname, x.lname, y.prod_id, y.quantity from Customer x, Sales_order y where x.id := y.id and y.prod_id := :prod_id |
No index is generated for join queries. |