У меня есть таблица, как показано ниже
dbo.UserLogs
-------------------------------------
Id | UserId |Date | Name| P1 | Dirty
-------------------------------------
Может быть несколько записей на один идентификатор пользователя [даже в миллионах]
У меня есть кластеризованный индекс в столбце Дата, и я очень часто запрашиваю эту таблицу во временных диапазонах.
Столбец «Грязный» не имеет значения NULL и может принимать только 0 или 1, поэтому у меня нет индексов для «Грязный»
У меня есть несколько миллионов записей в этой таблице, и в одном конкретном случае в моем приложении мне нужно запросить эту таблицу, чтобы получить все идентификаторы пользователей, в которых есть хотя бы одна запись, помеченная как грязная.
Я пробовал этот запрос - выберите отличный (UserId) из UserLogs, где Dirty = 1
У меня в общей сложности 10 миллионов записей, и это занимает около 10 минут, и я хочу, чтобы это работало намного быстрее, чем это.
[Я могу запросить эту таблицу в столбце даты менее чем за минуту.]
Любые комментарии / предложения приветствуются.
мой env
64bit, sybase15.0.3, Linux