Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с использованием секционирования, Планировщик смотрит ВСЕ таблицы 
:(
    Опции темы
agenduzz
Дата 4.5.2007, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



Здравствуйте! У меня проблема с применением секционирования таблиц в MS SQL Server 2000. Есть ряд таблиц, с ограничением на поле "дата" (каждая таблица с данными за конкретный месяц). Создан view, в котором эти таблицы объединяются (union all).
Так вот, делается select из этого view, с условием where на дату, и тут ситуация следующая: когда в условии where стоит конкретно указанная дата, планировщик смотрит только одну, нужную таблицу; а когда указывается переменная, используются все таблицы, то есть преимущество секционирования таблиц не используется.

Вот пояснение сказанного.
Код

SELECT * FROM Q_CltCreditRisk where date = @p_date and depart=@p_oltp

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

А в этом только таблица с данными за март месяц:
Код

SELECT * FROM Q_CltCreditRisk where date = 20070301 and depart = 1000


Как тут быть? smile 
PM MAIL   Вверх
LSD
Дата 4.5.2007, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: нет
Всего: 538




M
LSD
Перенесено их баз данных



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
SergKO
Дата 4.5.2007, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 14.3.2005

Репутация: 17
Всего: 20



Вы уверены, что производится именно поиск по всем таблицам, а не просто проверка Constrainta, в котором задан диапазон дат?  Т.е. может быть проверка check constraint-а на основе которого сделано секционирование у таблиц.

 Приведите план выполнения запроса (не оценочный, а именно выполнения).

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0714 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.