powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Оптимизация запроса / структуры данных
4 сообщений из 4, страница 1 из 1
Оптимизация запроса / структуры данных
    #39891709
stdvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такие данные:

id int,
d datetime

Общее кол-во записей большое.
Кол-во уникальных id ~100.
Добавление и удаление данных происходит редко.

Нужно так хранить данные, что бы быстро получать результаты запросов такого вида:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select id, d
from data
where id = @id and d between @d1 and @d2

select distinct id
from data

select id, min(d), max(d)
from data
group by id



Как лучше всего организовать хранение данных? Или можно запросы как-то по другому написать?

Если просто сохраняю все в одной таблице с кластерным индексом по (id, d), то первый запрос выполняется быстро, а второй и третий - медленно.
Знания ms sql поверхностные. Умею немного писать селекты.
...
Рейтинг: 0 / 0
Оптимизация запроса / структуры данных
    #39891728
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stdvb,

1.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
create view v_data__id
with schemabinding
as
select
 id, count_big(*) as c
from
 data
group by
 id;
go

create unique clustered index CUIX_v_data__id on v_data__id (id);
go

2.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select id from v_data__id with (noexpand);

select
 a.id, b.min_d, c.max_d
from
 v_data__id a with (noexpand) cross apply
 (select top (1) d from data where id = a.id order by d) b(min_d) cross apply
 (select top (1) d from data where id = a.id order by d desc) c(max_d);
...
Рейтинг: 0 / 0
Оптимизация запроса / структуры данных
    #39891750
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stdvb,

Секционирование и колоночный индекс
...
Рейтинг: 0 / 0
Оптимизация запроса / структуры данных
    #39891781
stdvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
invm,
Спасибо, работает.

Критик,
Спасибо за вариант, но предыдущее решение подошло, пока что остановлюсь на нем.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Оптимизация запроса / структуры данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]