![]() |
#2 |
Участник
|
Цитата:
Даже за счет того, что по сети передается меньше данных. За счет чего запрос с where будет быстрее: 1. За счет того, что SQL-сервер прочитает меньше данных с диска (он бывает достаточно сообразителен) 2. За счет того, что SQL-сервер передаст меньший объем данных Аксапте (обычно передача идет по сравнительно медленной сети) 3. За счет того, что Аксапта выполнит меньшее число скомпилированный в p-код инструкций (p-код выполняетсяпо медленно по сравнению с ассемблерными инструкциям SQL-сервера) В самом худшем случае время выполнения запроса с where будет таким же. Это для простых запросов. Надо помнить и об обратной стороне. Очень сложные запросы могут выполняться медленнее, нежели несколько простых. Даже в том, случае, если сложный запрос возвращает меньше данных. Дело в том, что запрос на SQL-сервер передается как текстовая строка. И SQL-сервер каждый раз выполняет компиляцию и оптимизацию запроса. Время компиляции сложного запроса может быть очень велико (да, там есть свои механизмы для уменьшения времени компиляции). Подробнее читайте BOL (book online) и материалы по SQL-сервер. |
|