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

Откуда:
Сообщений: 679
Всем привет!

Не разобрался до конца с индексами и партицией. Плиз помочь с теоретической частью.

Есть таблица tbl1 которая:
1. разбита на партиции по датам по столбцу dt1.
2. содержит столбец client_id с кластерным индексом

Правильно ли я понимаю, что для каждой партиции свой "кусок" кластерного индекса для поля client_id ? То есть если я добавляю новую запись в эту таблицу, то перестройка индекса ведется в рамках одной партиции ?

Как еще можно сделать так (кроме использования кластерного индекса), чтобы осуществлялся быстрый поиск по client_id в исторической таблице tbl1 и при этом, так же была возможность на максимальной доступной скорости импортировать данные в эту таблицу Bulk insert? С увеличением базы скорость загрузки данных в таблицу падает из-за наличия индекса и большого кол-во записей. :(
8 дек 12, 12:54    [13599570]     Ответить | Цитировать Сообщить модератору
 Re: Теория с идексами и партициями  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Testor1,

Если приведете структуру таблицы, схему и функции секционирования - это может понять, что у Вас есть.

У Вас индексы секционированные или обычные? Секционирование индекса
Быстрая загрузка в секционированную таблицу это SWITCH. (Массовая загрузка в секционированную таблицу)
8 дек 12, 16:41    [13600214]     Ответить | Цитировать Сообщить модератору
 Re: Теория с идексами и партициями  [new]
Testor1
Member

Откуда:
Сообщений: 679
trew
Testor1,

Если приведете структуру таблицы, схему и функции секционирования - это может понять, что у Вас есть.

У Вас индексы секционированные или обычные? Секционирование индекса
Быстрая загрузка в секционированную таблицу это SWITCH. (Массовая загрузка в секционированную таблицу)


CREATE CLUSTERED INDEX ix_tb_transactions ON dbo.tb_transactions (client_id) ON ps_transactions (transact_datetime)
GO


Больше на таблице индексов нет

Я хочу реализовать загрузку с использованием Switch, но не успеваю по времени. Нужно множество разных файлов грузить в несколько таблиц, которые очень большие. Соотвественно нужен код, который умеет отлавливать исключительные случаи (дозагрузка файлов после сбоя и проверки секции) и так далее. Все это можно и нужно сделать, но на это нужно время которого сейчас нет. Нужен Work Around.
8 дек 12, 23:18    [13601353]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить