我注意到 Firebird 为单个表创建了重复的列,因此在查询中使用了不正确的索引,导致查询速度变慢。请在下面举例。
我有 2 个具有相同列和索引的表,但是在检查表结构时,一个表显示重复的列
Table A : Name VARCHAR(30)
Age INTEGER
BIRTH_DATE TIMESTAMP
Indices : Name, Birth_date (Asc), Birth_date(Desc)
Table B : Name VARCHAR(30)
Age INTEGER
BIRTH_DATE TIMESTAMP
Name VARCHAR(30)
Age INTEGER
BIRTH_DATE TIMESTAMP
Indices : Name, Birth_date (Asc), Birth_date(Desc)
将表与表 C 连接并按 Birth_date 排序时,表 A 使用的是 Birth_date 索引 Ordered,但表 B 不是。
请帮忙!这背后的原因是什么?谢谢你。