Последние комментарии

Для меня эта страница - это удобный способ смотреть, что нового происходит в комментариях и сразу находить заметку, не заходя в админку. Думаю, она будет полезна и тебе.


loozer

Фильм Тимура Бекмамбетова "Президент Линкольн: Охотник на вампиров".


Sat

Странный топик из темы - 'А много ли людей носят трусы в горошек?'. :-)


Михаил Фленов

Смысл один и тот же. Можешь добавить еще один inner join, от перемены мест слагаемых, оптимизатор SQL Server хуже работать не станет. Ведь оптимизатор смотрит не на то, где у тебя стоит условие, а на то, какой результат ты хочешь получить. А SQL - это всего лишь язык.

Иногда перемена мест слагаемых меняет план выполнения, но далеко не всегда.


alex.mrnv

P.S. "Ученик не выше учителя, но каждый усовершенствовавшись, может быть как учитель его." Самое главное что меня "зацепило" из первой же прочитанной мною  книги "Компьтер .........", это стр.16, цитирую: "В частности, вы должны научиться, пользоваться "горячими" клавишами и не дёргать мышь по любому пустяку." Ну если в этом плане была бы возможность "зарубиться с гуру", то готов был бы поспорить, ну в смысле того,  кто там кого сделает по скорости не известно , ну и конечно  искренне благодарен за то, что все его "наставления" вдохновили на всё всё всё намного большее чем все эти hotkeys.  


BOBA

Да, исходников оптимизатора у меня нет. Но, смею предположить, что его делали люди... и ему надо стараться помочь выполнить свою работу.
А, запросы, из ТОЙ заметки (http://www.flenov.info/blog.php?catid=1443) и приводимые здесь - совсем не равнозначные по степени нагрузки.


BOBA

Извини, сейчас не могу САМ проверить план выполнения запроса - нет сервера под рукой. А тэги - отвык без клавы :(


Михаил Фленов

Я не знаю, как обычно пишут, а для SQL сервера пофиг. Но спасибо, ты подал хорошую идею для заметки, которую я уже накатал. Реально будет полезно знать тем, у кого опыта работы с сервером не много.


BOBA

Я обычно where пишу к from.  Остальное - в join.


Михаил Фленов

2BOBA

Ты не правильно закрыл b тэг, поэтому твой комментарий удаляю, но копирую текст сюда:


Если не секрет, каков твой опыт работы с MS SQL Server? select credit.TxnID, credit.Expiry, debit.Transacted, debit.Amount from credit inner join creditdebit on . . . inner join debit on (. . . (and credit.Expiry < debit.Transacted) ) where debit.Transacred > '2012.01.01' and debit.Transacted < '2012.01.02'


Отвечаю сначала на первый вопрос - опыт работы дохренилетльный. Теперь по поводу того, что ты написал - ты думаешь от того, что ты перенес сравнение credit.Expiry < debit.Transacted в блок on план выполнения изменится? SQL сервер иногда тупит, но не до такой степени.


BOBA

Разные фирмы - разные маркетинговые политики.


О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне