powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как будет работать быстрее?
34 сообщений из 34, показаны все 2 страниц
Как будет работать быстрее?
    #39873931
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть необходимость периодически переливать из таблиц в таблицы данные в общем объёме где-то до 100 млн. записей.

В каком случае это будет работать быстрее:
1) таблицы источника и назначения в одной базе
2) таблицы источника и назначения в одной базе, но разнесены в разные файлы
3) таблицы источника и назначения в разных соседних базах

Во всех случаях подразумевается, что всё происходит на одном и том же сервере.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39873934
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос звучит примерно так:

"В каком случае будет добраться на автобусе быстрее:

1. Если ехать на заднем сидении
2. Если ехать у окна
3. Если ехать стоя

Во всех случаях подразумевается, что всё происходит в одном и том же автобусе."
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39873948
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не согласен с предложенной Вами аналогией.
Вы хотите сказать, что затраченное время не будет зависеть от выбранного 1 из 3 предложенных вариантов? Не поверю.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39873949
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®,

чтобы было быстрее - используйте физически разные диски и контроллеры источника и получателя. Проследите, чтобы на получателе были диски без "черепицы".
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39873950
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®,

Будет зависеть от возможности утилизировать ресурсы, в том числе и дисковые. Если у вас базы все на одном физическом сервере да еще и на одном физическом дисковом массиве, то откуда должен появиться выигрыш?
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39873954
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле это все БАД и припарки. На хороших серверных хранилищах это что в бок, что сверху. Но на бюджетных разница может быть.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39873957
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов Но на бюджетных разница может быть.
Это именно наш случай.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39873964
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®,

если льется постоянно, то имеет смысл отдать процессорное ядро под IO через Affinity mask. Также, если есть возможность, секционируйте кластерный индекс таблиц и заливайте секции одновременно в несколько потоков. Потоки легко сделать при помощи Integration Services. Разместите секции на разные диски. Понятно, что если источник будет разбит на секции и также размещен на разных дисках, должен быть эффект.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39873965
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®Есть необходимость периодически переливать из таблиц в таблицы данные в общем объёме где-то до 100 млн. записей.

В каком случае это будет работать быстрее:

4. partition switch

https://sqlrus.com/2018/03/using-switch-on-a-single-partition/
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39873967
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komradAR®Есть необходимость периодически переливать из таблиц в таблицы данные в общем объёме где-то до 100 млн. записей.

В каком случае это будет работать быстрее:

4. partition switch

https://sqlrus.com/2018/03/using-switch-on-a-single-partition/
точнее 1 или 2 + partition switch
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39873975
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

они же, наверное, копируют, а не переносят?
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39873977
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad2 + partition switch
и как же свич перенесет данные из одного файла в другой?
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39873994
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосовkomrad,
они же, наверное, копируют, а не переносят?
наверное или нет - автор не указал точно
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874008
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLexkomrad2 + partition switch
и как же свич перенесет данные из одного файла в другой?
да, верно, подразумевается другая ФГ (=другой файл) и тогда не получится switch
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874192
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Копируем, а не переносим. Смысл в том, что к одним и тем же данным нужен доступ с разной нагрузкой и разными правами.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874220
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AR®Есть необходимость периодически переливать из таблиц в таблицы данные в общем объёме где-то до 100 млн. записей.

В каком случае это будет работать быстрее:
1) таблицы источника и назначения в одной базе

Не достаточно информации. Даже одна и та же таблица может быть размещена в нескольких разных файловых группах (например, если она секционирована, или индексы перенесены на быстрые диски в быстрые файловые группы), которые могут размещаться в разных файлах (а файлы - соответственно на разных дисках, разных контроллерах и т.д.)
AR®2) таблицы источника и назначения в одной базе, но разнесены в разные файлы

Не в файлы, а файловые группы, в которые входят файлы (и не обязательно 1), которые см. выше.
AR®3) таблицы источника и назначения в разных соседних базах

Во всех случаях подразумевается, что всё происходит на одном и том же сервере.
См. предыдущие пункты.

При этом еще не стоит забывать и о быстродействии диска, на котором расположен(ы) файл(ы) лога, т.к. быстродействие вставки, особенно если она не минимально протоколируемая - напрямую зависит от количество операций в секунду (iops), который у вас выдает диск, на котором расположены логи.

Примеры:
1. Данные у вас располагаются на NL-SAS дисках, 7200, в RAID 6. Поверх единого виртуального тома контроллера нарезаны логические диски (созданные в виндовс), по которым вы разбросали файлы, содержащие данные и логи.
В таком случае нет никакой разницы, где, конкретно, на логическом диске, будут лежать логи, данные, на какие файловые группы будет поделена база, будут ли логи лежать на том же диске, что и данные или нет.
Быстродействие будет абсолютно одинаково, и определяться скоростью массива и количеством iops виртуального тома, созданного на контроллере.
2. Данные у вас расположены на логическом диске, расположенном на одном виртуальном томе контроллера, логи расположены на другом логическом диске, расположенном на другом виртуальном томе контроллера, либо на другом контроллере.
Это - оптимальный вариант.
Причем чем менее латентный том, на котором лежат логи - тем быстрее вставка, особенно если это конкурентная вставка в несколько потоков (и особенно - "по записи").
В бд, в которую интенсивно пишут (если нужно выбирать) данные нужно размешать на медленных шпиндельных дисках, а логи - на быстрых ssd, а не наоборот!
Потому что быстродействие изменений в базе напрямую зависит от количества операций в секунду, которую могут выдать диски, на которых лежат логи.

Т.е., прежде чем городить огород с файлами и т.д. - посмотрите на физику, которая под ними лежит.
Например, если у вас подо всё - одна дисковая полка, которая размечена "одним листом", в одно виртуальное пространство, RAID6 или RAID60, а поверх нее вы уже создаете какие то тома, или хуже того, ваши диски - это файлы виртуальной машины на этом большом томе - куда вы не двигайте логи, данные и т.д., вместе или раздельно, боком или раком - разницы не будет ровно никакой.
Разница может возникнуть только если вы получите в свое распоряжение физически разные каналы и физически разные тома (для данных, логов, баз источников, баз приемников).

... физика рулит безоговорочно.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874234
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®Вы хотите сказать, что затраченное время не будет зависеть от выбранного 1 из 3 предложенных вариантов? Не поверю.Как может быть по другому?

Вы данные копируете из одних секторов диска в другие. Какая разница при этом, что у вас где то в блокнотике отмечено, что первые сектора относятся к накладным Ивана Ивановича, а вторые - к чёрной кассе Петра Петровича?
"Базы" - это всего лишь метаданные, "отметка в блокнотике". А хранятся данные на диске, и неважно, как именно сектора диска описаны в метаданных.

Разница в скорости может появиться, если нужно расширять файл базы, или если делается копирование с одного диска на другой (то есть "2) таблицы источника и назначения в одной базе, но разнесены в разные файлы", но при этом разные файлы размещены на разных дисках).
В общем, если отличаются существенные условия.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874236
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgКак может быть по другому?

например, базы могут быть в разных моделях восстановления
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874239
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовНа хороших серверных хранилищах это что в бок, что сверху. Но на бюджетных разница может быть.Как это, разве разница не одинаковая, не зависящая от стоимости?
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874240
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем откликнувшимся, но мне показалось, что никто не учёл, что это будет не копирование файлов средствами ОС, а именно переливка данных между таблицами командами T-SQL insert/select.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874241
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123alexeyvgКак может быть по другому?

например, базы могут быть в разных моделях восстановленияДа, есть такое, упустил. :-)

Но вообще нужно предполагать, что все остальные условия одинаковые.
А то так можно дойти до того, что в одной базе таблица-куча без индексов, а в другой с ПК на 10 полей, и с 50 индексами.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874242
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®Спасибо всем откликнувшимся, но мне показалось, что никто не учёл, что это будет не копирование файлов средствами ОС, а именно переливка данных между таблицами командами T-SQL insert/select.Учли-учли.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874245
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®Спасибо всем откликнувшимся, но мне показалось, что никто не учёл, что это будет не копирование файлов средствами ОС, а именно переливка данных между таблицами командами T-SQL insert/select.
как раз и учли.
если бы копировалось средствами ОС,
разница была бы, писать на медленный диск или на быстрый
(если базы на разных дисках)
но т.к. копирует именно сервер, то он тупо поднимает ваши данные с диска
и в памяти же пишет на страницы (той или иной) базы.
а в памяти пофиг, чьи это страницы.
а сбросит он эти страницы на диск уже потом, и тоже пофиг, когда.
о коммите вы получите известие, когда в лог все запишется.
и вот тут и есть разница, в какой модели была база-приемник
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874251
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgВладислав КолосовНа хороших серверных хранилищах это что в бок, что сверху. Но на бюджетных разница может быть.Как это, разве разница не одинаковая, не зависящая от стоимости?

Например, если сравнивать SAS и простое SATA решение.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874282
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123alexeyvgКак может быть по другому?

например, базы могут быть в разных моделях восстановления
А какая разница?
Симпл или фулл, транзакция всё равно вначале полностью будет отмечена в логе, а лог только потом будет усечен. Можно выиграть только на авторасширении файла, и то только если бэкап лога не делается вовремя.
А минимально протоколируемые операции - минимально протоколируются что в полной модели, что в простой.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874285
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggsterА минимально протоколируемые операции - минимально протоколируются что в полной модели, что в простой.
нет
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874302
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggsterА минимально протоколируемые операции - минимально протоколируются что в полной модели, что в простой.
очень интересное представление о полной модели,
этакая "не совсем полная модель"
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874316
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосовalexeyvgпропущено...
Как это, разве разница не одинаковая, не зависящая от стоимости?
Например, если сравнивать SAS и простое SATA решение.В смысле, если у вас SAS диск, то разнесение источника и приёмника на разные шпиндели не повлияет на скорость?
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874480
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

Я понял. Во втором случае даже при разнесении ситуация будет хуже, т.к. SATA плохо справляется с одновременной обработкой обращений к хранилищу. Разве что удастся изолировать как-то поток данных. Хотя сомнительно, т.к. сервер будет не только писать, но и читать на получателе. SAS интерфейс, емнип, обладает пропускной способностью, намного превышающей возможности дисков.
Но я полностью не уверен. Просто мнение :)
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39874924
Glebanski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно позже стоит подумать о смене концепции "big bang copy 100500K rows" На более хайповую репликацию в фоновом режиме. Помониторьте сервер, может у вас ещё полно ресурсов для подобного процесса.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39875489
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AR®Есть необходимость периодически переливать из таблиц в таблицы данные в общем объёме где-то до 100 млн. записей.
В каком случае это будет работать быстрее:
1) таблицы источника и назначения в одной базе
2) таблицы источника и назначения в одной базе, но разнесены в разные файлы
3) таблицы источника и назначения в разных соседних базах
Во всех случаях подразумевается, что всё происходит на одном и том же сервере.

Практика 10-15-и летней давности говорила о том, что скорость сильно возрастает,
если источник и приёмник находятся на отдельных физических носителях (в разных базах).
(были базы до 500Gb)
Но с того времени много чего поменялось в железе.
Надо экспериментировать - Попробуйте - поделитесь результатами.
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39875490
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Другое дело, что делать что-то в одной базе с эталонной таблицей я бы не стал...
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39876041
AR®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже склонился к двум разным базам, хотя и, скорее, по административно-правовым причинам. :)
...
Рейтинг: 0 / 0
Как будет работать быстрее?
    #39876051
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Две базы на двух разных физических носителях на одном сервере.
...
Рейтинг: 0 / 0
34 сообщений из 34, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как будет работать быстрее?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]