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

Откуда:
Сообщений: 367
Здравствуйте всем. Можно у ВАс спросить,
Перед изменением справочника S_Doc брали резервную копию БД( - LastDB). Он связан с таблицей TDoc. Некоторые значения - S_Doc.Docname этого справочника были переименованы на "tt". Необходимо вытащить записи из таблицы TDoc из базы LastDB, чтобы посмотреть какое было значение LastDB.dbo.S_Doc.Docname.
Может быть у Вас будут замечания по оптимизации, спасибо.

select distinct TDoc.id,dbo.GetFIO(TDoc.propcode) FIO,
TDoc.propcode, LastDB.dbo.S_Doc.Docname,
S_Doc.code, S_Doc.Docname , 0 from TDoc
inner join S_Doc on TDoc.doctype=S_Doc.code
inner join LastDB.dbo.TDoc
on TDoc.propcode=LastDB.dbo.TDoc.propcode
inner join LastDB.dbo.S_Doc
on LastDB.dbo.TDoc.doctype=LastDB.dbo.S_Doc.code
and S_Doc.Docname<>LastDB.dbo.S_Doc.Docname
where S_Doc.Docname Like 'tt'
1 июл 09, 11:27    [7362404]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Mari-Salt
чтобы посмотреть какое было значение LastDB.dbo.S_Doc.Docname
а зачем оптимизировать запрос, созданный для одноразового использования?
1 июл 09, 11:38    [7362485]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Mari-Salt
Member

Откуда:
Сообщений: 367
С помощью этого запроса на производстве вытаскиваться должен архивное дело из архива и путем сравнения "tt" должен быть изменен на другое значение S_docs. т.е. там будет более 1000 записей.
1 июл 09, 11:46    [7362551]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Mari-Salt
т.е. там будет более 1000 записей.
И что?
Один раз обработать 1000 записей, потеряв на это пять минут, и забыть об этой задаче
(хм, я думал, Вы это уже сделали)

Зачем оптимизировать-то?
1 июл 09, 11:49    [7362571]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Mari-Salt
Member

Откуда:
Сообщений: 367
Я уже сделала, просто хотела услышать Ваше мнение можно ли оптимизировать
1 июл 09, 12:00    [7362668]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Ну если потеоретизировать...
Я бы задумался над тем, зачем нужен distinct
а также что делается внутри GetFIO()
а также почему Like 'tt' а не простое сравнение

ну и опечалился бы насчет того, что в условия соединения таблиц попало <>

но это только мое мнение, главная моя мысль - даже если и можно оптимизировать,
то в этой ситуации вряд ли нужно, запрос свою задачу выполнил, вот и хорошо
1 июл 09, 12:11    [7362728]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация запроса  [new]
Mari-Salt
Member

Откуда:
Сообщений: 367
GetFIO() -это функция - ну это лишнее.Просто надо было вытащить записи из T_docs между двумя базами которые по названию неодинаковые (поэтому <>) но текущее значение справочника tt . Ладно, спасибо, что обратили внимание ..)
1 июл 09, 12:36    [7362919]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить