|
Запрос, не использующий таблицы, насколько сильно загружает СУБД (MS SQL) | ☑ | ||
---|---|---|---|---|
0
timgan
22.03.16
✎
17:06
|
|ВЫБРАТЬ
| ВЫБОР | КОГДА &Число1<&Число2 | ТОГДА Истина | ИНАЧЕ Ложь |КОНЕЦ КАК Результат есть потребность сделать данный запрос в цикле |
|||
1
igork1966
22.03.16
✎
17:07
|
А зачем запрос тогда?
|
|||
2
ДенисЧ
22.03.16
✎
17:07
|
Загрузит в основном сеть и проц. Диски не станут нагружаться.
Только смысла в этом нет |
|||
3
timgan
22.03.16
✎
17:10
|
(1) Сравнение двух чисел с динамически изменяемым знаком (<,<= и т.п.)
|
|||
4
igork1966
22.03.16
✎
17:12
|
(3) Что заставляет делать это на SQL-сервере. Это же охренеть какие накладные расходы.
|
|||
5
timgan
22.03.16
✎
17:14
|
(2) Т.е. можно сказать что на СУБД минимальная нагрузка, так как таблицы (записи) не блокируются, нагрузка только по-сути на железо сервера?
|
|||
6
igork1966
22.03.16
✎
17:14
|
(5) Нафига микроскопом орехи колешь?
|
|||
7
timgan
22.03.16
✎
17:17
|
(4) (6) Поэтому и спрашиваю совета. Можно, конечно, написать через условия Если Тогда на каждый знак сравнения или у тебя есть другие варианты?
|
|||
8
igork1966
22.03.16
✎
17:17
|
(7) Вычислить
|
|||
9
igork1966
22.03.16
✎
17:18
|
(8) + значительно дешевле
|
|||
10
igork1966
22.03.16
✎
17:19
|
(8) + если будет быстрее
|
|||
11
timgan
22.03.16
✎
17:19
|
Результат = Вычислить("10000<20000")?
|
|||
12
igork1966
22.03.16
✎
17:21
|
Число1 = 10000;
Число2 = 20000; Рез = Вычислить("Число1<Число2")? |
|||
13
timgan
22.03.16
✎
17:21
|
(11) на сколько мне известно невозможно
|
|||
14
timgan
22.03.16
✎
17:21
|
(12) да
|
|||
15
Dmitrii
гуру
22.03.16
✎
17:23
|
(12) А зачем такие извращения?
Почему нельзя Результат = Число1 < Число2; |
|||
16
igork1966
22.03.16
✎
17:23
|
(13) что невозможно?
|
|||
17
ДенисЧ
22.03.16
✎
17:24
|
(15) Потому что у этого извращенца может быть и <=, и >, и >=, и <>
Не любит он СКД, куда деться... |
|||
18
igork1966
22.03.16
✎
17:26
|
(15) Это ты автора спроси. Он вообще над SQL издевается для вычисления логического выражения...
|
|||
19
timgan
22.03.16
✎
17:34
|
(18) Спасибо, igork1966.
Конструкция рабочая: Число1 = 10000; Число2 = 20000; Рез = Вычислить("Число1" + "<" + "Число2"); |
|||
20
timgan
22.03.16
✎
17:37
|
(17) На СКД пишу большую часть отчетов (хочется думать, что качественно).
|
|||
21
timgan
22.03.16
✎
17:38
|
Dmitrii, ДенисЧ спасибо за советы и критику.
|
|||
22
sapphire
22.03.16
✎
17:39
|
(20) Что ж тогда мучаешь всех?
Вычислить (Eval) Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки. Функция используется для совместимости с предыдущими версиями платформы. Вместо неё рекомендуется использовать функцию ВычислитьВыражение. Синтаксис: Вычислить(Выражение, Группировка, ТипРасчета) Параметры: Выражение. Тип Строка. Содержит вычисляемое выражение; Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Например: Сумма(Продажи.СуммаОборот) / Вычислить("Сумма(Продажи.СуммаОборот)", "ОбщийИтог") В данном примере в результате получится отношение суммы по полю "Продажи.СуммаОборот" записи группировки к сумме того же поля во всей компоновке. ТипРасчета. Тип Строка. В случае если данный параметр имеет значение "ОбщийИтог", выражение будет вычисляться для всех записей группировки. В случае если значение параметра "Группировка", значения будут вычисляться для текущей групповой записи группировки. |
|||
23
kiruha
22.03.16
✎
18:17
|
Вычислить - очень тормознутое
Выкорчевывал сие творение Самое быстрое обычноая функция или если есть желание извращаться - визуал бейсик скрипт |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |