Hej wszystkim,
Wydaje mi się że mam popularny przypadek, ale niestety nie mogę znaleźć jasnej odpowiedzi. Przyjmijmy że mamy tabelę Comment, która ma kolumny:
COMMENT
- ID (PK)
- Subject (Varchar)
- Content (Varchar)
- Author (Varchar)
- DocumentID (Varchar)
no i zamierzamy często wyciągać dane dla danego DocumentId, coś w stylu SELECT * FROM COMMENT WHERE DocumentID = ...
DocumentId to 10-cyfrowy string. Chcę żeby query zwracało szybko wyniki, bez względu na to ile jest danych w tabeli. Czy widzicie tu jakieś zastosowanie indeksów? Z tego co widzę to indeks klastrowany dla DocumentId posortuje mi dane po DocumentID czego za bardzo nie chcę (chcę mieć dane posortowane po kluczu głównym, ID), a indeks nieklastrowany w cale nie poprawi wyszukiwania - byłby przydatny jakbym chciał pobrać tylko i wyłącznie DocumentID,
Jako laik bazodanowy proszę Was o radę czy pozostawienie zwykłej varcharowej kolumny będzie OK.