Я использую инструкцию SQL для удаления записей, существующих в другой базе данных, но это занимает очень много времени.Улучшение производительности скрипта asp, которое занимает 3+ минут для запуска
Есть ли другая альтернатива нижеприведенному коду, которая может быть быстрее? База данных - это доступ.
email_DB.mdb откуда я хочу, чтобы удалить адреса электронной почты, которые существуют на другой базе данных (таблица Newsletter_Subscribers) customers.mdb является другой базой данных (таблица клиенты)
SQLRemoveDupes = "DELETE FROM Newsletter_Subscribers WHERE EXISTS (select * from [" & strDBPath & "Customers].Customers " _
& "where Subscriber_Email = Email or Subscriber_Email = EmailO)"
NewsletterConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & strDBPath & "email_DB.mdb"
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = NewsletterConn
MM_editCmd.CommandText = SQLRemoveDupes
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
Set MM_editCmd = Nothing
EDIT: попробовал SQL ниже одного из ответов, но я получаю сообщение об ошибке при запуске его:
SQL: DELETE FROM WHERE Newsletter_Subscribers CustID в (выберите CustID из [ "& strDBPath &" Клиенты] .Customers где Subscriber_Email = Email или Subscriber_Email = Эма ilO)
Я получаю «Слишком мало параметров. Ожидаемое 1. «Сообщение об ошибке на строке Выполнить
IIRC, это сообщение может означать, что вы используете имя столбца, который не существует, так что это рассматривая его как параметр. – dkretz 2008-11-29 18:06:48
Предполагается, что существует * между DELETE и FROM – AnonJr 2009-03-09 07:20:07