Форум: "Базы";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
ВнизОптимизация запроса... Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.034 c