Вот для чего временные таблицы . Вы создаете временную таблицу, содержащую список исключений, и используете DBM, чтобы сделать выбор за вас. Простой пример:
CREATE TABLE words (id integer primary key not null, word string);
CREATE TEMPORARY TABLE exclusion (word string);
INSERT INTO words VALUES ... # 100,000 of these
INSERT INTO exclusion VALUES ... # 1000 of these
DELETE FROM words WHERE words.word NOT IN (SELECT word FROM exclusion);
# 99,000 records now in words, table exclusion evaporates when the session is over
Кто-то, кто действительно знает SQL, может улучшить мою последнюю строку. Если вы делаете выбор в области приложения, что-то не так. В MySQL есть временные таблицы, но даже если вы не сделали исключений CREATE / DROP, все равно было бы лучше, чем слишком длинный оператор.
Между прочим, я взломал это в Python только потому, что у меня был огромный удобный список слов. Код скучный, поэтому не размещен.