Кластеризованный или некластеризованный индекс?

Речь о Microsoft SQL Server. Есть таблица с логами входа:


[time] [datetime] NOT NULL,

[account] [varchar](14) NOT NULL,

[ip] [varchar](15) NOT NULL,


Изменить нельзя (нельзя id вместо имени для account, нельзя бинарный формат для ip). Часто используется выборка по полю account, поэтому хочу добавить индекс. Какой тип индекса лучше использовать в данном случае? Кластеризованный или некластеризованный?
  • Вопрос задан
  • 6372 просмотра
Пригласить эксперта
Ответы на вопрос 2
@ztxn
Наверняка отбор по экаунту производится с сортировкой по time и отсечкой по time либо же top, либо же по диапазону time. В этом случае, мне думается, будет уместен составной индекс по паре (account,time)

Вот кластеризованный — ли, берут меня сомнения. Нужны дли вам на столько дополнительные пять копеек при отборе, чтобы можно было чуть пожертвовать производитеьностью на вставке? Полагаю — врядли. Скорость вставки, мне думается, тут весьма критична будет.
Ответ написан
Комментировать
@ztxn
>>Стоит ли в этом случае делает индекс составным и кластеризованным?
Составной индекс по паре (time, account), для отбора по экаунту наверняка вам будет бесполезен. А для отбора по экаунту и диапазону времени (или с сортировкой по времени и отсечкой по top/значению времени), он будет существенно менее эффективен нежели по паре (account, time)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
27 апр. 2024, в 17:31
150000 руб./за проект
27 апр. 2024, в 16:39
1000 руб./в час
27 апр. 2024, в 16:38
30000 руб./за проект