Не зная, каким может быть «очень большое» количество идентификаторов, я рискну предположить. ;-)
Поскольку вы используете Access в качестве базы данных, количество идентификаторов не может быть выше . Предполагая, что мы говорим о менее чем, скажем, 10 000 чисел, и мы должны знать ограничения контейнеров для хранения идентификаторов (какой язык используется для внешнего интерфейса?), Я бы придерживался одного оператора UPDATE
; если это наиболее читабельно и легче выполнить техническое обслуживание позже. В противном случае я бы разделил их на несколько утверждений, используя некоторую умную логику. Что-то вроде разделения оператора на несколько операторов с одним, десятью, сотнями, тысячами ... идентификаторов на оператор.
Тогда я бы оставил оптимизатору БД возможность выполнять операторы максимально эффективно. Я бы, вероятно, сделал «объяснение» для запроса / запросов, чтобы убедиться, что ничего глупого не происходит.
Но, по моему опыту, довольно часто можно оставить этот вид оптимизации для самого менеджера баз данных. Единственное, что занимает больше всего времени, - это фактическое соединение с базой данных, поэтому, если вы можете выполнить все запросы в одном соединении, обычно проблем нет. Убедитесь, что вы отправили все операторы UPDATE
, прежде чем начать изучать и ждать, пока не вернутся какие-либо наборы результатов. : -)