powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Что быстрее? Где почитать?
13 сообщений из 13, страница 1 из 1
Что быстрее? Где почитать?
    #34148879
noisette
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, теоретический вопрос по языку SQL.
Есть ли разница в скорости выполнения запросов

select <fields> from <table>
inner join
inner join
inner join
where <table>.<field> = ...

и

select <fields> from
(select * from <table> where <table>.<field> = ...) as ...
inner join
inner join
inner join,

если <table> ОЧЕНЬ велика?

Эмпирически (то бишь методом тыка) получил, что первый запрос в частном случае работает на 10% времени дольше. Но то проверялось, повторюсь, в одном случае.

И где можно вообще просветиться на предмет рационального написания SQL запросов?
...
Рейтинг: 0 / 0
Что быстрее? Где почитать?
    #34149527
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подозреваю, что если вы в первом случае оформите условие отбора как pre-join, то получите как минимум не меньшую производительность, чем во втором. Но вообще, планы запросов смотрите.
...
Рейтинг: 0 / 0
Что быстрее? Где почитать?
    #34149973
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
noisetteГоспода, теоретический вопрос по языку SQL.
Есть ли разница в скорости выполнения запросов
Теоретически разницы быть не должно. Практически же недостатки конкретного оптимизатора конкретной СУБД могут привести к неоправданному замедлению, причем в любом из случаев.
...
Рейтинг: 0 / 0
Что быстрее? Где почитать?
    #34150890
noisette
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пасиб. А ссылочки, где просветиться правильно-оптимальным построением запросов нету?
...
Рейтинг: 0 / 0
Что быстрее? Где почитать?
    #34160362
Urhtang
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
noisetteПасиб. А ссылочки, где просветиться правильно-оптимальным построением запросов нету?
э... э... нет ответа :) если оракл то для начала - Том Кайт.
...
Рейтинг: 0 / 0
Что быстрее? Где почитать?
    #34160758
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
noisetteГоспода, теоретический вопрос по языку SQL.
Есть ли разница в скорости выполнения запросов

select <fields> from <table>
inner join
inner join
inner join
where <table>.<field> = ...

и

select <fields> from
(select * from <table> where <table>.<field> = ...) as ...
inner join
inner join
inner join,

если <table> ОЧЕНЬ велика?

Эмпирически (то бишь методом тыка) получил, что первый запрос в частном случае работает на 10% времени дольше. Но то проверялось, повторюсь, в одном случае.

И где можно вообще просветиться на предмет рационального написания SQL запросов?

тут правильно сказали - планы запросов нуна смотреть... но вот из практики - я бы не рекомендовал применять звёздочку в подзапросах...

(круглый)
...
Рейтинг: 0 / 0
Что быстрее? Где почитать?
    #34162081
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0но вот из практики - я бы не рекомендовал применять звёздочку в подзапросах...Ага, а если учесть что звездочка в некоторых базах уже объявлена как deprecated syntax? :)

Нету универсального ответа по абстрактному SQL. Все зависит от базы данных. А некоторые особо умные оптимизаторы при этом еще обращают внимание на распределение связываемых значений в таблицах.
...
Рейтинг: 0 / 0
Что быстрее? Где почитать?
    #34162128
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl kolobok0но вот из практики - я бы не рекомендовал применять звёздочку в подзапросах...Ага, а если учесть что звездочка в некоторых базах уже объявлена как deprecated syntax? :)

А рекомендация НЕ использовать там, где не deprecated как-то этому противоречит?)
...
Рейтинг: 0 / 0
Что быстрее? Где почитать?
    #34162146
noisette
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0, а сделайте милость, скажите, что такое "планы запросов"? а то может пользуюсь, а не знаю.
а что до зведочки, так ее я поставил просто, чтоб какой-то вложенный запрос для примера написать :о)
...
Рейтинг: 0 / 0
Что быстрее? Где почитать?
    #34162150
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAl White Owl kolobok0но вот из практики - я бы не рекомендовал применять звёздочку в подзапросах...Ага, а если учесть что звездочка в некоторых базах уже объявлена как deprecated syntax? :)

А рекомендация НЕ использовать там, где не deprecated как-то этому противоречит?)Экхм... мартышка к старости слаба глазами стала :) Вот не , то я и не заметил :)
...
Рейтинг: 0 / 0
Что быстрее? Где почитать?
    #34163967
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
noisettekolobok0, а сделайте милость, скажите, что такое "планы запросов"? а то может пользуюсь, а не знаю.
а что до зведочки, так ее я поставил просто, чтоб какой-то вложенный запрос для примера написать :о)

план запроса - это те телодвижение SQL сервака которые он делает для получения результата. ну например...
сделали Вы простой селект...оптимизатор подумал и написал что вот эту таблицу он будет сканировать полностью (фулл), а вот эту по индексу... Тут он сначала вычислит органичение на выборку по такой то таблице, далее полученный результат прогонит по фулл выборки "верхних" таблиц...
для получения плана запроса есть команда
EXPLAIN ваш-сиквол-запрос

правда вот входит ли она в стандарт SQL - тут вот я пас. Но на оракле и постгресе - должна дышать..

(круглый)
...
Рейтинг: 0 / 0
Что быстрее? Где почитать?
    #34164735
noisette
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0, видимо, не входит, ибо, в частности, квери аналайзер никак не выделяет это слово
...
Рейтинг: 0 / 0
Что быстрее? Где почитать?
    #34165155
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0EXPLAIN ваш-сиквол-запрос
правда вот входит ли она в стандарт SQL - тут вот я пас. Но на оракле и постгресе - должна дышать..
Нет, не входит.
А вот например все сайбезовские БД показывают планы запроса в системном isql, даже с графикой.
А можно специальными опициями сказать БД чтобы она сохраняла планы всех-всех запросов в специальной таблице, потом вытаскиваешь их оттуда и рассматриваешь :)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Что быстрее? Где почитать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]