Я бы предложил сделать timestamp
вашим кластеризованным индексом ... , так как кластерный индекс особенно эффективен для столбцов, которые часто ищут диапазоны значений , и это, кажется, описывает, как вы будетезапрос данных.
Кроме того, я предполагаю, что timestamp
будет последовательным, что сделает вставку новых данных в кластеризованный индекс менее дорогой, чем при случайном распределении вставляемых данных.
Не похоже, что вы будете искать по user
или appname
, поэтому я не рекомендую добавлять индексы к этим столбцам, если вы не планируете объединять эти значения или использовать их в своем where
предложение где-то в будущем.
Вы предложили добавить все три поля в свой индекс, но когда вы сделаете это, индекс будет использоваться только в том случае, если в ваш поиск включен "передний фронт" ...
Например, если ваш индекс (user, timestamp, appname)
, но вы ищете только по timestamp
и appname
, этот индекс не будет использоваться.Поэтому очень важно учитывать, как будут запрашиваться данные при создании ваших индексов.