Использование adCmdTable обычно приводит к тому, что ADO генерирует команду select * from thetable
, которая выполняется поставщиком OLE DB. Если вы обновляете результирующий набор записей, поставщик (или фактически ADO поверх него) обычно генерирует операторы вида update table set field = ?, ... WHERE ...
. Предложение WHERE является потенциальной проблемой. Если в таблице есть первичный ключ, то предложение WHERE будет включать этот первичный ключ обновленной записи и, таким образом, будет достаточно эффективным при ее выполнении. Поскольку вы только вставляете значения, это должно привести к генерации простых операторов INSERT и должно быть очень эффективным.
Обратите внимание, что если провайдер его поддерживает, то adCmdTableDirect приведет к открытию прямой таблицы, и обновления будут чрезвычайно эффективными. Я не знаю, поддерживает ли MySQL эту опцию; Я не думаю, что очень многие провайдеры поддерживают это.