Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 порядок физических данных в кластере.  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
великий китайский программист решил не хранить номера порядка вершин многоугольника при сохранении вершин, а сделал поле id вершин кластерным и справедливо полагaет что вставятся в "правильном" порядке.

Не знаю поздно ли бить железной линейкой по рукам или оставить как есть.
Не измениться ли порядок при перестройке индекса ?
10 янв 05, 22:43    [1234000]     Ответить | Цитировать Сообщить модератору
 Re: порядок физических данных в кластере.  [new]
Glory
Member

Откуда:
Сообщений: 104760
Не измениться ли порядок при перестройке индекса ?
Хм. А на что у вас влияет физический порядок хранения записей ?
11 янв 05, 10:13    [1234399]     Ответить | Цитировать Сообщить модератору
 Re: порядок физических данных в кластере.  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
create table xsection_contour_vertex {xcontour int not null, Distance float, z float}
create clastered index XCV ON xsection_contour_vertex (xcontour)

insert into xsection_contour_vertex (xcontour, Distance, z) VALUES (1, 1, 0)
insert into xsection_contour_vertex (xcontour, Distance, z) VALUES (1, 2, 0)
insert into xsection_contour_vertex (xcontour, Distance, z) VALUES (1, 3, 0)

insert into xsection_contour_vertex (xcontour, Distance, z) VALUES (2, 4, 0)
insert into xsection_contour_vertex (xcontour, Distance, z) VALUES (2, 5, 0)
insert into xsection_contour_vertex (xcontour, Distance, z) VALUES (2, 6, 0)
insert into xsection_contour_vertex (xcontour, Distance, z) VALUES (2, 7, 0)
insert into xsection_contour_vertex (xcontour, Distance, z) VALUES (2, 8, 0)

insert into xsection_contour_vertex (xcontour, Distance, z) VALUES (3, 9, 0)
insert into xsection_contour_vertex (xcontour, Distance, z) VALUES (3, 10, 0)
insert into xsection_contour_vertex (xcontour, Distance, z) VALUES (3, 11, 0)
insert into xsection_contour_vertex (xcontour, Distance, z) VALUES (3, 12, 0)

--------------------
select * from xsection_contour_vertex

-----------------------------------

1 1.0 0.0
1 2.0 0.0
1 3.0 0.0
2 4.0 0.0
2 5.0 0.0
2 6.0 0.0
2 7.0 0.0
2 8.0 0.0
3 9.0 0.0
3 10.0 0.0
3 11.0 0.0
3 12.0 0.0

---Хм. А на что у вас влияет физический порядок хранения записей ?
первое поле это полигон и порядок записей для одного полигона - порядок построения от первой точки до последней.
11 янв 05, 17:57    [1236746]     Ответить | Цитировать Сообщить модератору
 Re: порядок физических данных в кластере.  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
второе поле длина ребра, а третье угол отклонения от предидущей точки
11 янв 05, 17:59    [1236754]     Ответить | Цитировать Сообщить модератору
 Re: порядок физических данных в кластере.  [new]
Breakneck
Member

Откуда: Kiev
Сообщений: 2454
А почему бы при выборке не добавить необходимые поля для сортировки? Или создать поле, определяющее порядок сортировки?
Как видно из приведенного набора, поле Distance у Вас и является таким сортировочным признаком
11 янв 05, 18:32    [1236848]     Ответить | Цитировать Сообщить модератору
 Re: порядок физических данных в кластере.  [new]
Breakneck
Member

Откуда: Kiev
Сообщений: 2454
Lepsik
второе поле длина ребра, а третье угол отклонения от предидущей точки

А, ну если оно - длина ребра... То тогда только дополнительное поле-признак сортировки.
11 янв 05, 18:35    [1236851]     Ответить | Цитировать Сообщить модератору
 Re: порядок физических данных в кластере.  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
Breakneck
А почему бы при выборке не добавить необходимые поля для сортировки? Или создать поле, определяющее порядок сортировки?
Как видно из приведенного набора, поле Distance у Вас и является таким сортировочным признаком


поле дистанс к порядку отношения не имеет - оно может быть любым в принципе. эти номера я поставил, чтобы показать что в принципе порядок при запросе остался таким же что и при вставке.

Но убедить суперразработчика что кластерный индекс и физическое расположение индексов никак не влияют на порядок записей с одинм индексом мне никак не удается. И вроде как даже приведенный пример подтверждает это
11 янв 05, 21:55    [1237071]     Ответить | Цитировать Сообщить модератору
 Re: порядок физических данных в кластере.  [new]
Glory
Member

Откуда:
Сообщений: 104760
select * from xsection_contour_vertex with(index=0)

"If a clustered index exists, INDEX(0) forces a clustered index scan "
12 янв 05, 10:01    [1237532]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить