CREATE TABLE SWINDLER( PHONENUMBER VARCHAR2(13) NOT NULL, ACCOUNTNUMBER VARCHAR2(25) NOT NULL, ACCOUNTNAME VARCHAR2(15) NOT NULL, BANKNAME VARCHAR2(20) NOT NULL, DAMAGEPRICE NUMBER NOT NULL, SWINDLEDATE DATE, ITEMNAME VARCHAR2(25) NOT NULL, LOCATION VARCHAR2(25), TITLE VARCHAR2(50) NOT NULL, CONTENT VARCHAR2(3000) NOT NULL, WRITER VARCHAR2(50) NOT NULL, CREATEDATE DATE DEFAULT SYSDATE );
ALTER TABLE SWINDLER ADD CONSTRAINT SWINDLER_PK_COMPOUND PRIMARY KEY(PHONENUMBER, ACCOUNTNUMBER, ACCOUNTNAME);
위 테이블을 만들려고 합니다. 붉은색 컬럼들을 복합키로 구성할 때 SELECT시 PHONENUMBER나 ACCOUNTNUMBER로 검색을하면 인덱스나 부분인덱스를 타겠지만 마지막 복합키인 ACCOUNTNAME을 검색하면 인덱스를 안타고 데이터 전체를 검색하는걸로 알고있습니다. 이럴경우 어쩔수없이 복합키 이외에 따로 ACCOUNTNAME에 인덱스를 만들어야 할까요? 아니면 다른 좋은 방법 없을까요?