Главная страница
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.034 c
14-1127883605
Ega23
2005-09-28 09:00
2005.10.16
С днем рождения! 27 сентября


3-1125569408
Маленький мук
2005-09-01 14:10
2005.10.16
Поле TIME в таблице PARADOX - как обратиться в запросе?


2-1126785349
Vad_
2005-09-15 15:55
2005.10.16
про грид


1-1127739413
MakedoneZ
2005-09-26 16:56
2005.10.16
Работа с реестром,запуск проги при старте OC


2-1125575312
Русланка
2005-09-01 15:48
2005.10.16
Вопрос по потокам