使用:Firebird 2.52
为了执行以下查询的SELECT,我是否需要在表中的其他字段上使用索引:
所需查询:
select inventory_id, max(batch_no) from invty_batch
where inventory_id = :I
group by inventory_id
表格结构:
CREATE TABLE INVTY_BATCH (
ROW_ID INTEGER NOT NULL,
INVENTORY_ID INTEGER NOT NULL,
BATCH_NO VARCHAR(8) NOT NULL,
INVTYRCPT_ID INTEGER NOT NULL,
UNITPRICE NUMERIC(12, 2) DEFAULT 0.0 NOT NULL);
ALTER TABLE INVTY_BATCH ADD PRIMARY KEY (ROW_ID);
CREATE UNIQUE INDEX IXINVTYIDBATCHNO ON INVTY_BATCH(INVENTORY_ID,BATCH_NO);
在inventory_id和batch_no列上创建索引是否会对给定查询的性能有所帮助?
答案 0 :(得分:0)
尝试为字段“batch_no”创建索引,因为查询正在此字段中进行搜索。 PS:使用desc索引,因为搜索是最大值