|
2 / 2 / 0
Регистрация: 18.09.2022
Сообщений: 242
|
|
Работа с вьюшками14.09.2024, 11:00. Показов 645. Ответов 8
Метки нет (Все метки)
Есть три большие таблицы, каждая где-то по 200 Гб. Одна таблица по операциям за июнь, другая за июль, третья за август. Необходимо обработать эти данные уже готовым(!) скриптом с периодом с июня по август. Обработать каждую таблицу скриптом не вариант, так как потом три набора данных нереально объединить в один (а нужен именно один набор результирующих данных за три месяца). То есть получается, что нужно слить эти три таблицы в одну и только потом по объединенной таблице запускать скрипт. В связи с объединением таблиц возникает вопрос. Самый простой путь (как мне кажется) - это сделать вьюшку по всем трем таблицам и на вход скрипта отдавать эту вьюшку. НО! в скрипте по разным полям в разные моменты формируются индексы. И в связи с эти возникает вопрос - можно ли по полям вьюшки, как по полям обычной таблицы, создавать индексы? И второй вопрос - можно ли вьюшку как-то превратить в обычную таблицу? то есть объединил вьюшкой три таблицы, а потом раз и превратил вьюшку в обычную таблицу (например, если вьюшка чем-то не устраивает и нужна полноценная таблица)
Microsoft SQL Server 2019
0
|
|
| 14.09.2024, 11:00 | |
|
Ответы с готовыми решениями:
8
Работа в игровом проекте. Работа с php. Работа с платежными системами. Работа с базами данных Работа с строками,Работа со структурными типами данных,Работа с файлами!! Нужна летиратура, в которой бы описывались работа с событиями, работа с элементами управления |
|
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
|
|
| 14.09.2024, 11:53 | |
|
почитай индексы представлений и материализованные представлени для ms sql
0
|
|
|
1304 / 358 / 97
Регистрация: 14.10.2022
Сообщений: 1,087
|
||
| 14.09.2024, 11:56 | ||
|
Но вам, по здравому размышлению, нужно секционированное представление. А индексы - создайте сразу. https://learn.microsoft.com/ru... rver-ver15
0
|
||
|
2 / 2 / 0
Регистрация: 18.09.2022
Сообщений: 242
|
|
| 14.09.2024, 12:45 [ТС] | |
0
|
|
|
1304 / 358 / 97
Регистрация: 14.10.2022
Сообщений: 1,087
|
|
| 14.09.2024, 13:05 | |
|
Смотрите.
По смыслу, если у вас имеются несколько одинаковых таблиц, но, например, содержащих данные из разных периодов, типа "за первый квартал", "за второй квартал" и т.д., вы можете создать секционированное представление, см: https://learn.microsoft.com/ru... rver-ver16 Там довольно много требований, и нужно слегка модифицировать базовые таблицы (создать check constraint по столбцу секционирования), но, при условии аккуратного выполнения этих требований, вы получите обновляемую виртуальную таблицу из нескольких реальных таблиц, с которой можно будет производить все базовые DML операции. DDL - нельзя, индекс вы по ней не создадите, конечно, но по базовым таблицам создавать их можно вполне. Всё замечательно работает, даже если базовые таблицы расположены в разных базах, и даже - на разных серверах.
0
|
|
|
2 / 2 / 0
Регистрация: 18.09.2022
Сообщений: 242
|
||||||
| 14.09.2024, 17:37 [ТС] | ||||||
|
Я пока не могу понять как ответить на поставленные вопросы.
Да, у меня имеются три таблицы за июнь, июль, август. Все таблицы имеют одинаковую структуру. Да, я создаю представление типа
По материализованным вьюшкам, насколько я понимаю, MS SQL 2019 не поддерживает их P.S. Записи внутри каждой таблицы имеют уникальный идентификатор, но не имеют первичного ключа.
0
|
||||||
|
1304 / 358 / 97
Регистрация: 14.10.2022
Сообщений: 1,087
|
|||||
| 15.09.2024, 10:03 | |||||
|
Только вы не понимаете смысла этого понятия. См. столбец секционирования и всё вокруг этого. Но, если так уж сильно припекло, пожно попытки создания индексов на такой секционированной вьюхе перехватывать и подавлять их, написав DDL триггер: https://learn.microsoft.com/ru... rver-ver16 Но, однако, старайтесь так не делать.
0
|
|||||
|
2 / 2 / 0
Регистрация: 18.09.2022
Сообщений: 242
|
|||||||||||
| 15.09.2024, 10:42 [ТС] | |||||||||||
|
Вроде бы нашел решение, но пока проверить не могу
![]() и дальше можно использовать вьюшку как обычную таблицу, в т.ч. вешать некластеризованные индексы. P.S. обновляемость вьюшки мне не нужна. Один раз вьюшку использовал и удалил
0
|
|||||||||||
| 16.09.2024, 10:20 | ||
|
Тут очень много "если". Материализованные представления сильно замедлят операции Insert/Update/Delete в каждой из таблиц.
0
|
||
| 16.09.2024, 10:20 | |
|
Помогаю со студенческими работами здесь
9
Работа - проведение обучающих семинаров по C#. Работа по выходным дням ( сб-вс - 32 часа). От 30 000р. Работа с Меню. Сохранение, печать, создать новый. Работа с рисованием Работа формы в фоне, вне фокуса (работа с раскладкой клавиатуры) Количество подведенного и отведенного тепла, работа сжатия, работа расширения Работа с ems api: корректная работа при указании веса. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|