Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.16;
Скачать: CL | DM;

Вниз

Оптимизация запроса...   Найти похожие ветки 

 
MakNik   (2005-08-31 10:44) [0]

Обратил внимание, что Enterprise Manager при выполнении запроса расставляет в нем скобки и приводи все служебные слова в верхний регистр. Нпример:
Запрос Select * from Table1 where ID="1"
преобразовывает в SELECT * FROM Table1 WHERE (ID = "1")

Следовательно, вопрос: есть ли  смысл сразу ставить скобки и писать все большими буквами? Влияет ли это на скорость разбора запроса?


 
Ega23 ©   (2005-08-31 10:51) [1]

При синтаксическом разборе текста запроса один фиг всё в какой-то единый регистр приводится. Лично я предпочитаю верхний, хотя разницы нет. Если ты будешь всё в верхнем регистре писать, то при разборе всё равно в UpperCase переведут.
Вывод - абсолютно пофигу, в каком регистре писать.

Всё ИМХО.


 
MakNik   (2005-08-31 10:55) [2]

... а в отношении скобок? есть ли смысл ставить каждое условие в скобки?


 
Val ©   (2005-08-31 10:57) [3]

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


 
Плохиш ©   (2005-08-31 11:01) [4]

Хм, я не понял какое отношение Enterprise Manager имеет к Delphi?


 
Nikolay M. ©   (2005-08-31 11:05) [5]


> Плохиш ©   (31.08.05 11:01) [4]
> Хм, я не понял какое отношение Enterprise Manager имеет
> к Delphi?

А почему ЕМ должен иметь какое-то отношение к дельфям?


> MakNik   (31.08.05 10:44)  

По сравенению с временем собственно выполнения запроса, говорить о скорости преобразовывания текста просто смешно :)


 
MakNik   (2005-08-31 11:07) [6]

... а вот еще один глупый вопрос (исправте меня, если я что не так понимаю): если я правильно понимаю, то разбор строки происходит на сервре. т.о. приложение отправляет по сетке запрос в том види, в котором он был введен, а сервер разбирает и выполняет запрос. так вот, хотелось бы оценить где мы выигрываем: если, допустим, строка со скобками будет разбираться сервером быстрее, то передавая запрос со скобками на каждое условие приходится передавать на 2 символа больше по сетке.
В каком случае мы будем в выиграше: передавать больший запрос, но быстее его обрабатывать либо передавать меньший запрос и дольше его обрабатывать?


 
Val ©   (2005-08-31 11:10) [7]

мы выигрываем, когда оптимально строим запросы. вот от этого серверу хорошо.


 
MakNik   (2005-08-31 11:17) [8]


> Val ©   (31.08.05 11:10) [7]
> мы выигрываем, когда оптимально строим запросы. вот от этого
> серверу хорошо.

...это безусловно, но когда похожий запрос выполняется n+1  раз, где n>10000, то даже небольшой выигрыш дает ощутимый результат...


 
Val ©   (2005-08-31 11:20) [9]

похожий запрос тогда сидит у сервера в кэше.


 
Nikolay M. ©   (2005-08-31 11:49) [10]

Не надо заниматься ловлей блох. То время, которое ты потратил на форум, уже больше цены вопроса всех селектов, которые ты можешь написать за несколько лет.


 
Desdechado ©   (2005-08-31 13:15) [11]

В Оракле, например, при некоторых настройках оптимизатора имеет значение, в каком регистре отправлять запросы.
Сервер может искать в кэше похожие или точно такие запросы, соответственно скорость обработки и сохранность кэша откомпилированных запросов меняется.
Возможно, что-то похожее есть и в MSSQL.


 
Fay ©   (2005-08-31 16:23) [12]

2 MakNik   (31.08.05 10:44)
Забей. Не влияет.



Страницы: 1 вся ветка

Текущий архив: 2005.10.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.049 c
14-1126764141
Vlad Oshin
2005-09-15 10:02
2005.10.16
Пара песен


1-1127738263
Суслик
2005-09-26 16:37
2005.10.16
Проблемы с отображением TWinControl


1-1127800740
ShotGun
2005-09-27 09:59
2005.10.16
Как деархивировать zip file?


1-1127730987
Laymer
2005-09-26 14:36
2005.10.16
Изображение иконки программы на кнопке.


3-1125630197
skiph
2005-09-02 07:03
2005.10.16
2 Query на одну таблицу