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

Откуда:
Сообщений: 1
Ситуация следующая: есть бд(~50 Гб), в которой 3 таблицы, основной объем бд занимает 1 таблица, в которой есть поле типа text. Есть индексы ( в т.ч. и по полям [inStatus] - int и [inXSubjectID] - varchar(100) ) . Проблема заключается в том, что простой select ... from Table where [inStatus]=0 and [inXSubjectID]=? к этой таблице занимает больше минуты. как правило, необходимо выбирать довольно большой объем данных с разным [inXSubjectID]. Каким образом можно ускорить выборку с таблицы? поможет ли применение IN ?
Вопрос, конечно, туповатый, ввиду небольшого опыта работы с бд, так что, просьба отнестись снисходительно:)
21 июл 09, 15:08    [7440787]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с оптимизацей базы для MS SQL Server 2005  [new]
iljy
Member

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

а по подробнее можно? например план запроса привести, селективность индексов, статистику и т.п.

примениние IN - в каком именно контексте?
21 июл 09, 15:17    [7440840]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с оптимизацей базы для MS SQL Server 2005  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
Vicente Amigo
Покажите план запроса, чтобы было о чем говорить
21 июл 09, 15:17    [7440842]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с оптимизацей базы для MS SQL Server 2005  [new]
Crimean
Member

Откуда:
Сообщений: 13148
> как правило, необходимо выбирать довольно большой объем данных
> таблица, в которой есть поле типа text

и кому-то еще надо что-то рассказывать??
21 июл 09, 15:39    [7441000]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с оптимизацей базы для MS SQL Server 2005  [new]
iljy
Member

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

вообще-то да:) само по себе наличие столбца text ничего не значит. да и фраза "большой объем" нуждается в уточнении
21 июл 09, 16:11    [7441254]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с оптимизацей базы для MS SQL Server 2005  [new]
Var79
Member

Откуда:
Сообщений: 890
Vicente Amigo
Ситуация следующая: есть бд(~50 Гб), в которой 3 таблицы, основной объем бд занимает 1 таблица, в которой есть поле типа text. Есть индексы ( в т.ч. и по полям [inStatus] - int и [inXSubjectID] - varchar(100) ) . Проблема заключается в том, что простой select ... from Table where [inStatus]=0 and [inXSubjectID]=? к этой таблице занимает больше минуты. как правило, необходимо выбирать довольно большой объем данных с разным [inXSubjectID]. Каким образом можно ускорить выборку с таблицы? поможет ли применение IN ?
Вопрос, конечно, туповатый, ввиду небольшого опыта работы с бд, так что, просьба отнестись снисходительно:)


[inStatus] сколько всего вариантов значений в этом поле? скорее всего немного, надеюсь этот столбец не входит в индекс в качестве 1й колонки

список ийдишников [inXSubjectID] всегда указывается? или бывает опускается? весьма желательно указывать, и вообще действительно это должен быть varchar(100) а не guid например?

список колонок таблиц покажите и какие индексы имеются
21 июл 09, 16:12    [7441264]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить