Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1338 / 918 / 264
Регистрация: 08.08.2014
Сообщений: 2,758

Быстрое извлечение значений из контекста

12.12.2024, 14:29. Показов 446. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть запрос на выборку коллекции записей, где, помимо прочих условий, есть такое:
T-SQL
1
... and [account_id] = cast(cast(context_info() as binary(4)) as int) ...
Подскажите, пожалуйста:

1. Если в рамках запроса таблица сканируется целиком и для каждой строки выполняется проверка обозначенного условия, то можно как-то понять, оно для каждой записи выполняет это двойное приведение типа (и вызов 'context_info()') или как-то оптимизирует до одного раза и потом переиспользует значение?

2. Есть ли какие-то более быстрые/правильные способы из четырёх первых байт контекста получить значение типа 'int'?

P.S.: можно было бы, конечно, предварительно сохранить это int-значение в переменную, но этот запрос используется в качестве тела представления, а я в SQLServer не нашёл адекватного способа определить локальную переменную в представлении.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2024, 14:29
Ответы с готовыми решениями:

Быстрое извлечение файлов - MySQL PHP HTML
Добрый вечер! Заинтересовал один вопрос: Данные (т.е. картинки) берутся из папок, которые хранятся на локальном сервере, далее через...

Быстрое извлечение иконок для файлов в папке
Здравстуйте, занимаюсь написанием файлового менеджера, возникла следующая проблема — извлечение иконок происходит очень уж медленно,...

"Быстрое" извлечение года из даты
Доброго всем времени суток. Не часто, но иногда встает задача фильтрации по году коллекций, которые содержат даты. Если гуглить, можно...

1
668 / 291 / 120
Регистрация: 12.04.2022
Сообщений: 999
12.12.2024, 15:17
Лучший ответ Сообщение было отмечено kotelok как решение

Решение

Цитата Сообщение от kotelok Посмотреть сообщение
1. Если в рамках запроса таблица сканируется целиком и для каждой строки выполняется проверка обозначенного условия, то можно как-то понять, оно для каждой записи выполняет это двойное приведение типа (и вызов 'context_info()') или как-то оптимизирует до одного раза и потом переиспользует значение?
Выполните/посмотрите план,

T-SQL
1
2
3
4
set showplan_xml on
go
 
select ... and [account_id] = cast(cast(context_info() as binary(4)) as int) ...
оптимизатор 1 раз выполнит cast(cast(context_info() as binary(4)) as int) , затем будет его использовать.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.12.2024, 15:17
Помогаю со студенческими работами здесь

Очередь (извлечение значений)
Добрый день, нужна помощь в написании кода. Заранее благодарен за помощь. Задание: Дана непустая очередь. Извлекать из очереди...

Извлечение значений из файла
Пожалуйста помогите. Я недавно случайно стёр файл с командой по извлечению текста из файла. Я помню ,что это что-то с командой Set . Кто...

Извлечение значений из Табличного поля
Здравствуйте читающие!!! Как извлечь значения из табличного поля. Так чтобы начиная с первой строки по очереди присваивать значения до...

Запись и извлечение значений из массива
Доброго времени суток! Стоит задача построить точки на плоскости координат. Вопрос вот чем, точки вводяться с двух textBox-ов, X и Y...

Извлечение значений из области уведомлений
Область уведролмений, она же Notification Area, она же System tray. Как в powershell можно вытащить оттуда числовое значение? К примеру...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru