Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 4, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )

> Есть ли разница в запросах? , MS SQL Server          
Vofka Подменю пользователя
сообщение 07.09.12, 10:28
Сообщение #1

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13137
Из: Киев
Спасибо сказали: 3987 раз
Рейтинг: 3119.8

Привет!

Есть 2 запроса:

SELECT
    qwe,
    asd,
    zxc
FROM
    (
        SELECT
            qwe,
            asd,
            zxc
        FROM
            Table
        WHERE
            Table.qwe = qaz
    ) AS HZ


и

SELECT
    qwe,
    asd,
    zxc
FROM
    (
        SELECT
            qwe,
            asd,
            zxc
        FROM
            Table
    ) AS HZ
WHERE
    HZ.qwe = qaz


Есть ли разница между ними по призводительности? Есть мнение, что первый запрос работает быстрее. Да? Нет? Ответ, пожалуйста, обосновывайте либо подкрепляйте линками.

Сообщение отредактировал Vofka - 07.09.12, 10:55


Signature
Пишу программы за деньги

arkadij Подменю пользователя
сообщение 11.09.12, 17:23
Сообщение #2

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 1 раз
Рейтинг: 0

Первый запрос быстрее.
Он сначала проводит вложенный SELECT, который усекает выборку для внешнего SELECT (стоящего первой строкой в запросе).


Во втором запросе внутренний вложенный SELECT не уменьшает выборку и поэтому внешний SELECT заново проходится по той же совокупности данных и выбирает строки соответствующие условию. Это двойная работа.

Спасибо сказали: GreenFox,

Vofka Подменю пользователя
сообщение 11.09.12, 17:55
Сообщение #3

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13137
Из: Киев
Спасибо сказали: 3987 раз
Рейтинг: 3119.8

Я так понимаю, что сама выборка (ещё с наличием нужных индексов) будет занимать меньшую часть времени. Так? Затратная операция в данном случае будет фильтрация по условию. Так? Но и в первом и втором случае фильтрация будет осуществляться на одинаковом наборе данных. Т.е. реально почувтствуется ли прирост производительности?


Signature
Пишу программы за деньги

sava1 Подменю пользователя
сообщение 12.09.12, 9:50
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2171
Из: Проскуров
Спасибо сказали: 516 раз
Рейтинг: 505.6

Цитата(Vofka @ 11.09.12, 18:55) *
фильтрация будет осуществляться на одинаковом наборе данных


при том на кешированном результате и готовом плане - не думаю, что будет заметна разница

Fynjy Подменю пользователя
сообщение 12.09.12, 11:03
Сообщение #5

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 332 раз
Рейтинг: 0

Цитата(sava1 @ 12.09.12, 10:50) *
при том на кешированном результате и готовом плане - не думаю, что будет заметна разница

При втором запросе разница может колебаться, как в одну, так и в другую сторону ... )


Signature

Batchir Подменю пользователя
сообщение 12.09.12, 11:06
Сообщение #6

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3480
Из: Одесса
Спасибо сказали: 1337 раз
Рейтинг: 985.3

1. Если сам запрос выполнять в СКЛ, то должно выполнять то что описал arkadij.
2. В теории первый должен быстрее работать, на практике же может произойти совсем наоборот (это я к привязке к стороннему ПО говорю)
Например, 1С транслирует запрос на СКЛ сервер так как она это видит, а не так как это хочется СКЛ-серверу. Часто эта трансляция правильная, но может возникнуть ситуация когда при выполнении запроса (1 вариант) СКЛ-сервер выберет не оптимальную схему, в результате чего получим значительное ухудшение производительности. Конкретный пример с которым мне пришлось сталкиваться

Сообщение отредактировал Batchir - 12.09.12, 11:08


Signature

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 17.11.19, 14:45
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!