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

Откуда:
Сообщений: 450
Доброго времени суток!
Имеется таблица, в которую происходит вставка со скоростью 50 записей в сек.
Данные из этой таблицы нужны в течение семи дней, но уже после того как количество записей превысит несколько миллионов запросы к таблице начинают виснуть. Нужные для запросов индексы имеются и используются. Что можно сделать с таблицей, что бы обеспечить приемлемое быстродействие запросов при большом количестве записей?
5 ноя 09, 12:46    [7885226]     Ответить | Цитировать Сообщить модератору
 Re: Запросы к большой таблице  [new]
Glory
Member

Откуда:
Сообщений: 104760
Volodya

но уже после того как количество записей превысит несколько миллионов запросы к таблице начинают виснуть.

Виснут или медленно выполняются ? Все запросы или отдельные ?

Volodya
Нужные для запросов индексы имеются и используются.

Это откуда известно ?
5 ноя 09, 12:49    [7885248]     Ответить | Цитировать Сообщить модератору
 Re: Запросы к большой таблице  [new]
Volodya
Member

Откуда:
Сообщений: 450
Идут тайм-ауты. Индексы по планам запросов видно.
5 ноя 09, 12:53    [7885285]     Ответить | Цитировать Сообщить модератору
 Re: Запросы к большой таблице  [new]
Glory
Member

Откуда:
Сообщений: 104760
Volodya
Идут тайм-ауты. Индексы по планам запросов видно.

Тайм-ауты задает клиентское приложение вообще-то
5 ноя 09, 12:55    [7885308]     Ответить | Цитировать Сообщить модератору
 Re: Запросы к большой таблице  [new]
Volodya
Member

Откуда:
Сообщений: 450
Быстродействие неприемлемое получается.
5 ноя 09, 12:57    [7885325]     Ответить | Цитировать Сообщить модератору
 Re: Запросы к большой таблице  [new]
Glory
Member

Откуда:
Сообщений: 104760
Volodya
Быстродействие неприемлемое получается.

Ну так оптимизируйте запрос, меняйте оборудование и тп
5 ноя 09, 12:58    [7885331]     Ответить | Цитировать Сообщить модератору
 Re: Запросы к большой таблице  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Можно копить записи на клиенте (в файле, например), а вставлять порциями (BULK INSERTом).
5 ноя 09, 13:08    [7885436]     Ответить | Цитировать Сообщить модератору
 Re: Запросы к большой таблице  [new]
iljy
Member

Откуда:
Сообщений: 8711
Volodya,

как вариант- используйте секционирование по дням, на миллионах записей эффект может получится заметный. и удалять будет быстрее - отщипнули лишнюю секцию и убили.
5 ноя 09, 13:13    [7885459]     Ответить | Цитировать Сообщить модератору
 Re: Запросы к большой таблице  [new]
Volodya
Member

Откуда:
Сообщений: 450
Для секционирования по дням нужно будет для каждой секции определить границу, что будет означать 365 секций на год. Я правильно понял?
5 ноя 09, 13:57    [7885878]     Ответить | Цитировать Сообщить модератору
 Re: Запросы к большой таблице  [new]
Glory
Member

Откуда:
Сообщений: 104760
Volodya
Для секционирования по дням нужно будет для каждой секции определить границу, что будет означать 365 секций на год. Я правильно понял?

Секционировние оправдывает себя для действительно больших таблиц
У вас же таблица из "нескольких миллионов записей"
5 ноя 09, 14:03    [7885925]     Ответить | Цитировать Сообщить модератору
 Re: Запросы к большой таблице  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Volodya
Для секционирования по дням нужно будет для каждой секции определить границу, что будет означать 365 секций на год. Я правильно понял?


Это:

автор
количество записей превысит несколько миллионов


маленькая таблица. Прежде чем лезть в дебри секционирования (у Вас, кстатие редакция Entrerprise?), займитесь оптимизацией.
5 ноя 09, 14:05    [7885940]     Ответить | Цитировать Сообщить модератору
 Re: Запросы к большой таблице  [new]
nicksh
Member

Откуда: Москва (иногда Нижний Новгород)
Сообщений: 50
Volodya
Доброго времени суток!
но уже после того как количество записей превысит несколько миллионов запросы к таблице начинают виснуть.
Мне однажды (на 2000) сильно помогли (nolock) в selectах - даже не с точки зрения времени выполнения, а с точки зрения резкого снижения количества запросов на блокировку страниц при одновременной работе большого количества пользователей.
5 ноя 09, 16:00    [7886897]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить