Главная страница
    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.036 c
6-1119465288
bugman
2005-06-22 22:34
2005.10.16
UDP Redirect, port mapping, TidMappedPortUDP


2-1126287818
Oleg_L
2005-09-09 21:43
2005.10.16
Программировани на низком уровне.


14-1127549337
DiamondShark
2005-09-24 12:08
2005.10.16
Посоветуйте ньюс-сервер для чтения конференций relcom.


3-1125912944
suharew
2005-09-05 13:35
2005.10.16
Обрыв соединения с БД Interbase


8-1116841859
ALL
2005-05-23 13:50
2005.10.16
MediaPlayer





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский