Firebird가 단일 테이블에 대해 중복 열을 생성하여 쿼리가 느려질 수있는 쿼리에서 잘못된 인덱스가 사용되는 것으로 나타났습니다. 아래 예를 참고하십시오.Firebird 1.5 : 테이블의 중복 열
I 동일한 열 및 인덱스 2 개 테이블을 가지고 있지만, 테이블 구조를 확인할 때 Birth_date하여 표 C와 순서 테이블을 결합하는 경우, 하나 개의 테이블은, 테이블 A가 사용하고 중복 열
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)
를 도시 Birth_date 인덱스가 있지만 테이블 B는 아닙니다.
도와주세요! 이것의 원인은 무엇입니까? 고맙습니다.
테이블의 실제 DDL은 무엇입니까? 동일한 이름 (대소 문자)을 가진 두 개의 열을 만들 수 없어야합니다. –
@ MarkRotteveel, 그래, 한 테이블에 같은 이름을 가진 두 개의 열을 만들 수는 없지만 다른 테이블에 같은 열을 만들 수 있습니다. 문제는 동일한 열이있는 두 개의 테이블 중 하나에 중복 된 열이있는 경우입니다. DDL을 다람쥐 (IDE for Firebird)에서 볼 때. – Ianthe
Jaybird의 메타 데이터 쿼리 버그 일 수도 있습니다. http://tracker.firebirdsql.org/browse/JDBC에서 문제, 재생 단계, 실제 DDL 및 사본 (또는 백업)을 설명하는 티켓을 만들 수 있습니까? 데이터베이스? –