Форум: "Базы";
Текущий архив: 2010.02.21;
Скачать: [xml.tar.bz2];
ВнизВопросы оптимальности и производительности Найти похожие ветки
← →
Ragazor (2009-02-19 16:12) [0]Предположим есть TADOStoredProc или TADOQuery компонент на датамодуле. Использование их ведётся не с целью получить данные в грид, а что-нибудь выполнить(какой-то апедйт, выборку айдишки, и др.). Этот компонент всегда создан и для работы делается только присвоение параметров и вызов.
Далее, если взять и создать процедурку, которая будет работать не с этими компонентами, а будет создавать их, тоесть
with TADOStoredProc.Create() do
try
...
finally
Free;
end;
Вопрос, какой из методов будет работать быстрее и оптимальнее?
← →
Sergey13 © (2009-02-19 16:16) [1]Если и будет отличаться, то на милисекунды. Зато искать по коду где что ты создаешь и/или присваиваешь будешь часами.
Гораздо эфективнее ИМХО работать над содержимым SQL запроса.
← →
Johnmen © (2009-02-19 16:27) [2]середина поста [38] http://delphimaster.net/view/2-1233786340/
читать, думать, просвещаться...
← →
Ragazor (2009-02-19 16:50) [3]
> Sergey13 © (19.02.09 16:16) [1]
> Если и будет отличаться, то на милисекунды. Зато искать
> по коду где что ты создаешь и/или присваиваешь будешь часами.
>
> Гораздо эфективнее ИМХО работать над содержимым SQL запроса.
>
ну насчет поисков, это спорный вопрос, мне тяжеле браться вдруг за мышу лезть искать в визуальных компонентах нужный квери или датасет залезать ему в СКУЛЬ текст...скоко ж надо телодвижений сделать.
намного проще в коде в нужном месте видеть сразу
SpExecute("sp_MyTable_Update", ["@ID", "@ID2"], [12, 3], ADOConn)
где процедурка примерно принимает такое...
procedure SpExecute(ProcName, ArrayOfParams, ArrayOfValues, ADOConnection)
to Johnmen.
прочитал, но чьё-то заявление без каких-либо объяснений никак не заставляет просвящаться, а тем более верить сказанному. Причины впрочем мне и не нужны, я и так юзаю TADODataSet.
Вопрос касался совсем другого, а ваш ответ похож на это:
"Ребята чё выбрать мазду или форд?
- Езди на велосипеде!" :)
← →
Ragazor (2009-02-19 16:54) [4]Ну в целом понятно, разницы нет и на мой взгляд. Но вот, поидее присвоение параметров через .Value работает медленнее чем .AsInteger, .AsString и тд...
а тут уже одинокую процедурку не попользуешь так просто.
← →
MsGuns © (2009-02-19 17:48) [5]>прочитал, но чьё-то заявление без каких-либо объяснений никак не заставляет просвящаться, а тем >более верить сказанному.
К объяснениям уважаемого Sniknik по этой теме рекомендую относиться просветительски, а также верить им - они того заслуживают
← →
sniknik © (2009-02-19 21:23) [6]> заявление без каких-либо объяснений
ищи в дайджестах, мне их уже приводить надоело, и все кстати без толку, те кому объяснялось не хотят просвящаться, жаждут доказательств которых в итоге не понимают...
т.что новых не будет, или верь, или как хочеш.
> Причины впрочем мне и не нужны, я и так юзаю TADODataSet.
?
Предположим есть TADOStoredProc или TADOQuery компонент на датамодуле.
???
не важно, что уже ты ездишь "на велосипеде", вопрос то ты ставишь про мазду или форд... телепатов нет.
> Вопрос касался совсем другого, а ваш ответ похож на это:
> "Ребята чё выбрать мазду или форд?
> - Езди на велосипеде!" :)
вполне правомерный ответ кстати, т.к. по опущенному контексту ясно, что машина выбирается исключительно для поездок за хлебом, в булочную магазин за 2 дома от тебя...
ну типа того.
хочешь быстроты и оптимальности? учись правильно работать, т.к. на кривой логике тебя никакие наиоптимальнейшие методы не спасут.
а хорошо построить логику не понимая как работает то что используешь, на компонентах которые практически специально это скрывают..., ну довольно трудновато.
> ... компонент всегда создан ...
> ... взять и создать процедурку ...
обычно "препарсенный"(/компилированный) запрос работает немного быстрее, т.е. во втором случае на время перекомпиляций/парсинга параметров будет медленнее, при прочих равных.
правда и статический запрос можно написать так, что он будет постоянно перекомпилироваться, например указав * вместо списка полей.
ну и оптимальнее конечно для командных запросов не TADOStoredProc, а TADOCommand. + настройки выполнения - асинхронный/не возвращающий данные, для быстроты.
← →
Ragazor (2009-02-20 10:43) [7]?
Предположим есть TADOStoredProc или TADOQuery компонент на датамодуле.
???
Это Пример компонентов для любитей позадавать глупые вопросы типа "а какие ты компоненты юзаешь" и тд.
Корень и смысл в слове "Предположим". Тоесть, какие они там будут на самом деле абсолютно не важно для темы.
И спасибо sniknik за единственный ответ по теме.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2010.02.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c