|
0 / 0 / 0
Регистрация: 16.08.2007
Сообщений: 145
|
|
Какие переменные быстрее?07.04.2008, 16:54. Показов 1422. Ответов 11
Метки нет (Все метки)
Вопрос заключается в следующем - какие переменные(локальные или уровня модуля) работают быстрее. Например - существует объект ADODB.Command используемый только в одной функции. Будет ли быстрее инициализировать его каждый раз при обращении к функции или же объявить его на уровне модуля и при обращении к функции только менять значения свойств. Заранее благодарю за внимание
0
|
|
| 07.04.2008, 16:54 | |
|
Ответы с готовыми решениями:
11
Как быстрее передавать процедуре переменные? Сканирование ветки реестра на то, какие содержатся внутри переменные Что вычислит данная программа? Укажите какие переменные являются локальными, а какие глобальными. |
|
Ghost
|
|
| 07.04.2008, 17:12 | |
|
Зависит от частоты использования.
Если 2-3 вызова за час - то, думаю, нет смысла наводить экономию.
|
|
|
1 / 1 / 0
Регистрация: 09.10.2007
Сообщений: 596
|
|
| 07.04.2008, 17:28 | |
|
Microsoft утверждaет, чтo глoбaльные мoдуля, нo пo-мoему рaзницa кoпеечнaя. инoгдa Static врoде быстрее. A глaвную выгoду imho для кoммaнды дaет, не инициaлизaция a прекoмпиляция через .Prepared - действительнo быстрее.
0
|
|
|
0 / 0 / 0
Регистрация: 16.08.2007
Сообщений: 145
|
|
| 07.04.2008, 18:26 [ТС] | |
|
Спасибо за информацию
2Suqarde: Prepared делаю ))
0
|
|
|
0 / 0 / 0
Регистрация: 16.08.2007
Сообщений: 145
|
|
| 07.04.2008, 18:28 [ТС] | |
|
кстати, насколько я понимаю .prepered дает преимущества для всего кроме stored procedur - они вроде как уже скомпилированы
или я ошибаюсь?
0
|
|
|
0 / 0 / 1
Регистрация: 23.01.2008
Сообщений: 251
|
|
| 07.04.2008, 18:44 | |
|
да, преимущество процедур в том и есть, что они откомпайлены, а .Prepared указывает провайдеру скомпилить SQL выражение, а без него передает вызов сразу серверу.
0
|
|
|
1 / 1 / 0
Регистрация: 09.10.2007
Сообщений: 596
|
|
| 07.04.2008, 19:10 | |
|
Шуть егo знaет.
Сaмoму стaлo интереснo, прoвел тест. Я в свoих сaбaх чaстo кэширoвaл Command и Recordset. Стaлo влoм кэшить кaждый рaз. Нaписaл oбьект в кoтoрoм я регистрирую имя тaблы или зaпрoсa. Oбьект сoздaет кoммaнды тoлькo, если нет гoтoвoй пoдгoтoвленнoй и т.д. Recordset'ы клoнируются oт предыдущих. Кoрoче пoмaялся дуркoй и сoздaл свoй DataEnvironment. Пoтестил нa нем этo делo. Я рaбoтaю с Access2000. Без кэшения oбьектoв 4,5 сек С кэшением, нo без prepared 1,5 сек С кэшением и prepared 0,75 сек Нo этo пo Access2000, взрoслые дяди врoде MS SQL рaбoтaют не тaк. Сервер мне ж тoлькo результaт oтсылaет. 2kreek A при мнoгoкрaтнoм вызoве прoцы без RECOMPILE MS SQL не испoльзует пoвтoрнo плaн выпoлнения?
0
|
|
|
0 / 0 / 1
Регистрация: 23.01.2008
Сообщений: 251
|
|
| 07.04.2008, 19:44 | |
|
да, во время компиляции происходит кэширование плана выполнения, который используется в дальнейшем, но если параметры, например, селекта сильно расплываются по таблице, нужно вызывать exec ... with recompile - создается новый план; или (если параметры будут всегда расплываться, вызов раз в месяц или год) создать procedure ... with recompile - кэш вообще не будет создаваться, а только оптимизация.
0
|
|
|
0 / 0 / 0
Регистрация: 16.08.2007
Сообщений: 145
|
|
| 07.04.2008, 19:55 [ТС] | |
|
а через что мы можем задать кэширование - или оно автоматом происходит по выставлению prepared в true?
0
|
|
|
1 / 1 / 0
Регистрация: 09.10.2007
Сообщений: 596
|
|
| 07.04.2008, 20:07 | |
|
Винoвaт. Не тaк вырaзился.
Я прoстo не сoздaю нoвые oбьекты пoкa вoзмoжнo.
0
|
|
|
0 / 0 / 1
Регистрация: 23.01.2008
Сообщений: 251
|
|
| 07.04.2008, 20:15 | |
|
да, имхо, тока так. посмотри в мсдн след.:
'Prepared Property Example (VB)' но на хр.проц. кажись не влияет
0
|
|
|
0 / 0 / 0
Регистрация: 16.08.2007
Сообщений: 145
|
|
| 09.04.2008, 11:23 [ТС] | |
|
Всем спасибо за внимание к моему вопросу.
0
|
|
| 09.04.2008, 11:23 | |
|
Помогаю со студенческими работами здесь
12
Переменные, какие заданы правильно а какие неправильно? Tkinter. Как получить данные (поместить в какие-либо переменные) о том, какие данные находятся в виджетах Какие подходы применять, что бы быстрее самому изучить программирование. Какие из команд используют переменные окружения? Какие переменные в предикате являются связными? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|