【发布时间】:2023-03-23 05:43:02
【问题描述】:
INFORMIX-SE 7.32:
我有一个大约 5,000 行的事务表。 transaction.ticket_number[INT] 是一个列,每次更新特定行时,都会使用下一个可用的顺序票号进行更新。该列是唯一索引的。我目前正在使用以下 SELECT 语句来定位 max(transaction.ticket_num):
SELECT MAX(transaction.ticket_number) FROM transaction;
由于正在更新的行是根据 transaction.fk_id[INT] 聚集在一起的,它在此连接到 customer.pk_id[SERIAL],因此该行实际上并不位于事务表的末尾,而是驻留在属于每个特定客户的一组交易行。我选择将属于每个客户的交易聚集在一起,因为当我滚动浏览每个客户交易时响应时间会更快。是否有更快的方法来使用上述查询定位 max(transaction.ticket_number)?.. '事务上的唯一索引(ticket_number)下降'会改善访问还是索引完全遍历从开始到结束无关?
【问题讨论】: