SQL 데이터베이스에 액세스하는 VB 응용 프로그램이 있습니다. 나는 그것이 느리게 움직이고 있다고 생각한다. 그리고 아마 내가 테이블 프로 폴리 색인을 가지고 있지 않을 것이라고 생각했다. 나는 당신이 어떻게 인덱스를 만들지 궁금해하고 있었습니까? 여기 상황이 있습니다.VB6 SQL 2005 데이터베이스 인덱스 질문
내 주요 루프는 내가 다른 두 데이터베이스 안타가이 루프 내부
Select * from Docrec
Order by YearFiled,DocNumb
입니다.
Select * from MapRec
Where FiledYear = DocRec.YearFiled
and Volume = DocRec.Volume and Page = DocRec.Page
Order by SeqNumb
Select * from Names
Where YearFiled = DocRec.YearFiled
and Volume = DocRec.Volume and Page = DocRec.Page
Order by SeqNumb
는 다행스럽게도 필자는 이해했다. INNER를 사용하여 하나 개의 쿼리에서
이
이름표에서 속도가 느려지는 것을 추적했습니다. YearFiled, Volume, Page 및 SeqNumb으로 구성된 namerec 테이블에 클러스터되지 않은 인덱스를 추가했습니다. 또한 여기 DBA와 이야기 한 후 ID를 기본 키로 추가했습니다. 그는 또한 데이터베이스의 데이터 유형을 char에서 varchar로 전환 시켰습니다. 이것은 프로세스를 약간만 가속화했습니다. 나는 새로운 질문이있다. 확실하지 않은 경우 나는 그것을 새로운 것으로 게시해야합니까? NULL 값을 허용하기 때문에 일반적으로 내 VB 응용 프로그램에서 변형의 데이터 형식을 사용합니다. 데이터 유형간에 성능 차이가 있습니까? –