powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Индексы ?????????
13 сообщений из 13, страница 1 из 1
Индексы ?????????
    #32053484
Артем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые господа подскажите пожалуйста как все таки со всем этим управляться. :-(

Задача: Большие обьемы однотипных данных вносимые и редактируемые из разных филиалов. Заказы. У каждого заказа может быть несколько подпунктов (до 255).

Все данные должны отражаться на головном сервере для BACKUPa и отчетности.

Решение:

Merge репликация.
и таблицы вот такие для подпунктов:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE TABLE dbo.tblCustomersOrdersAddIns
	(
	OrderID uniqueidentifier NOT NULL,
	IDX int NOT NULL,
	iType tinyint NOT NULL,
	Strings varchar( 50 ) NOT NULL
	)  ON [PRIMARY]
GO

ALTER TABLE dbo.tblCustomersOrdersAddIns ADD CONSTRAINT
	PK_tblCustomersOrdersAddIns PRIMARY KEY CLUSTERED 
	(
	OrderID,
	IDX
	) ON [INDEXES]

GO


Как Вы думаете ЭТО правильно, или нет?

СПАСИБО.
...
Рейтинг: 0 / 0
Индексы ?????????
    #32053642
Артем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игнорируют.............
Жаль.
...
Рейтинг: 0 / 0
Индексы ?????????
    #32053667
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CLUSTERED индекс по столбцу uniqueidentifier категорически НЕТ

PRIMARY KEY по столбцу uniqueidentifier + еще что-то - не знаю не знаю. Думаю это "еще что-то" лишнее
...
Рейтинг: 0 / 0
Индексы ?????????
    #32053696
Артем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Glory
А почему, где прочитать?

Насколько правильно понимаю - весит много?
А если мне еще и быстрый поиск по веткам нужен?

Был бы премного благодарен если бы направил на путь истиный кто...

Огромное спасибо.
...
Рейтинг: 0 / 0
Индексы ?????????
    #32053704
fima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Glory "CLUSTERED индекс по столбцу uniqueidentifier категорически НЕТ" а что плохого в таком индексе?
...
Рейтинг: 0 / 0
Индексы ?????????
    #32053720
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Про CLUSTERED
Любое изменение полей входящих в кластерный индекс потребует перемещения всей записи. А это может вызвать повлечь очень трудоемкие операции, если запись перемещается на страницы, которые уже заполнены. Т.е. изменение одной записи может повлечь целую череду физических пермещений.
Т.к. GUID-ы обычно получают с помощью функции newid(), которая в общем случае генерирует их произвольно, то любое добавление записи будет происходить в произвольное место таблицы.
Поэтому для таблицы с операциями добавления кластерный индекс по полю uniqueidentifier слишком дорого обходится

BOL - Creating and Maintaining Databases - Indexes - Designing an Index - Using Clustered Indexes

2. Про PRIMARY
Т.к. опять же uniqueidentifier по теории всемирноглобальный идентификатор, то зачем к тому что уже уникально по своей сути добавлять еще что-то. Более уникальным это что-то его не сделает, а длину ключа увеличит.
...
Рейтинг: 0 / 0
Индексы ?????????
    #32053735
fima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С этим понятно, но первичный ключ по умолчанию кластерный, т.к. объединения по смыслу в основном идут по нему, то имеет смысл увеличить скорость обработки. Т.е. получается что не стоит использовать поля GUID для первичного ключа?
...
Рейтинг: 0 / 0
Индексы ?????????
    #32053742
Артем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Glory
При всем уважении
Вы не правильно меня поняли.

Это таблица связаная с основной.
Сам заказ в одной таблице,
а подпункты к нему в другой.

и связь по этому самому ORDER ID. :-)

Поэтому и к unique доп запись номер позиции в заказе.
...
Рейтинг: 0 / 0
Индексы ?????????
    #32053762
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
простой индекс по OrderID нужно, но ни как не кластерный...
...
Рейтинг: 0 / 0
Индексы ?????????
    #32053771
Артем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обьясните пожалуйста?

Вот кластерный индекс
как он устроен в файле базы даных?
наверное так же как и книжный индекс
сверху все отсортировано по первой букве, потом по второй, потом ....

а как это дело понимает SQL?
а если кластерный индекс составной.
а если он и вообще не кластерный.
статей то прочитал много, но видно мало :-)

Ответьте пожалуйста, совсем запутался.
Как построить правильный индекс?
Для реплицируемых таблиц? Для маленьких, больших?

ПОМОГИТЕ!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
Индексы ?????????
    #32053776
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
простой индекс это отдельная структура со ссылками на на исходные данные...
а кластерный индекс - это когда данные располагаются именно в его порядке...
а теперь представте что данные часто меняются, вставляются и удаляются...
какой из индексов дешевле поддерживать?
...
Рейтинг: 0 / 0
Индексы ?????????
    #32053789
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2fima
Для операций чтения - да, именно так.
Но Артем в условиях задачи указал " Большие обьемы однотипных данных вносимые и редактируемые из разных филиалов". Поэтому надо думать и над скоростью INSERT/UPADTE.

2Артем

как он устроен в файле базы даных?
BOL - SQL Server Architecture - Database Architecture - Physical Database Architecture - Table and Index Architecture

Как построить правильный индекс?
Для каждого запроса по отдельности можно предложить свой оптимальный индекс. Для совокупности запросов тоже.
Для настройки индексов существует Index Tuning Wizard.
Из наиболее очевидных вещей
- может понадобится индекс по PRIMARY/FOREIGN KEY, если используются JOIN-ы
- может понадобится индекс по полям заданным в WHERE
- может понадобится индекс по полям заданным в ORDER
...
Рейтинг: 0 / 0
Индексы ?????????
    #32053847
Артем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо всем.
Буду дальше разбираться. :-)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Индексы ?????????
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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