본문/내용
1. MS SQL에서 인덱스의 종류와 각각의 장단점에 대해 설명하세요.
MS SQL에서 인덱스는 쿼리 성능 향상을 위해 필수적인 요소입니다. 클 clustered 인덱스는 데이터의 물리적 순서를 결정하며, 테이블당 하나만 생성할 수 있어 주로 프라이머리 키에 사용됩니다. 읽기 속도를 크게 높이지만, 인서트와 업데이트 시 성능 저하와 디스크 공간 증가가 발생합니다. 반면, non-clustered 인덱스는 별도의 저장 공간에 생성되어 여러 개 만들 수 있어 다양한 쿼리 조건에 효율적입니다. 검색 속도가 빨라지고, 특히 1,000만 건 이상의 데이터 세트에서 검색 시간이 30% 이상 단축되는 사례가 많습니다. 그 외에 커버링 인덱스는 인덱스에 필요한 모든 정보를 담아, 데이터 페이지 접근 없이 검색할 수 있어 성능을 최적화하며, 하지만 인덱스 크기가 커져 유지비용이 증가할 수 있습니다. 필터링 인덱스는 특정 조건을 만족하는 데이터만 인덱싱해 공간 절약과 검색 효율을 높여줍니다. 그러나 잘못 설계 시 인덱스 갱신 비용이 늘어나고, 적절하지 않으면 오히려 성능 저하를 초래하니 설계 시 신중해야 합니다.
2. C#에서 async와 await 키워드의 역할과 사용 사례를 설명…