Динамическое написание скриптов можно назвать быстрым и «грязным» методом. Такие скрипты не отфильтровывают представления и другие объекты в тестовой схеме, поэтому при необходимости нужно добавить эту функциональность самостоятельно. Как и было обещано, расскажем о параллельном запуске нескольких Распараллеливание задач можно понимать как разделение основной задачи, когда вы можете запускать х2, х4, х8 и т. п. подскриптов вместо одного большого скрипта. Для начала следует заметить, что чем больше у вас параллельно запущенных задач, тем труднее отследить ошибки, в то время как прирост производительности заметнее всего для небольшого числа делений. К тому же зачастую вы ограничены мощностью процессора, объемом оперативной памяти и ресурсами ввода/вывода. Это значит, что деление основной задачи на две или четыре параллельных подзадачи неосуществимо без специального инструмента. Здесь используются два метода — соответственно типу выполняемой задачи:
В данном примере требуется добавить в несколько таблиц один столбец. Для столбца не были определены значения по умолчанию, поэтому новый столбец имеет значение Null, И Alter table Выполняется очень быстро даже для больших таблиц. Если изменить Alter table, Задав значения по умолчанию, необходимо будет переписать всю таблицу. В этом случае время работы будет зависеть от размера таблицы.
Теперь, когда подзадачи имеют разное время выполнения в зависимости от размера, необходимо выделять подзадачи более тщательно, чтобы в итоге получилось несколько скриптов, время работы которых будет примерно одинаковым. Если известно, что у вас всего несколько больших таблиц, можно просто вручную выделить для каждой отдельный скрипт.
Если в базе данных много больших таблиц, то можно отсортировать SQL-выражения по размеру, а затем, используя циклическое деление, разбить их на несколько подскриптов с примерно одинаковым временем работы. В качестве примера рассмотрим два SQL — выражения:
Рубрика: Женский интерес