Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.04 c
3-1125991945
Tonich
2005-09-06 11:32
2005.10.16
Копировать Select из одной таблицы в другую


4-1124088075
Арсений
2005-08-15 10:41
2005.10.16
8 БИТ И ВСЕ, ВСЕ, ВСЕ…


11-1108015146
Blure
2005-02-10 08:59
2005.10.16
Не прорисовываются иконки в TKolTreeView


2-1127221966
umbra
2005-09-20 17:12
2005.10.16
модифицирующий себя компонент


2-1126005369
Гость22
2005-09-06 15:16
2005.10.16
Как из таблицы Парадокс удалить запись?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский