Хуже всего то, что вы даже не сможете получить эти 15 тыс. Записей во-первых, потому что в триггере есть ограничение в 1000 строк (это масштабируется до количества строк, которые запускает триггер требуется, но это, вероятно, не помогает)
Полагаю, ваш единственный способ сделать это с тегом @future - читайте об этом в документации. Это дает вам гораздо более высокие ограничения. Несмотря на то, что вы можете вызывать только столько из них в день, вам может понадобиться каким-то образом отслеживать, какие родительские объекты обновляют свои дочерние объекты, а затем обрабатывать их в автономном режиме.
Последний вариант может заключаться в использовании API через какой-либо внешний инструмент. Но вам все равно нужно убедиться, что все в вашем коде объединено.
Сначала я думал, что эти лимиты драконовские, но на самом деле вы можете сделать из них очень много, если вы правильно пакетируете вещи, мы регулярно обновляем 1000 строк из триггеров. И с архитектурной точки зрения, гораздо более того, и вы все равно говорите о пакетной обработке, которая обычно не активируется триггером. Одно можно сказать наверняка - они заставляют вас прыгать через обручи, чтобы сделать это.