Видимо, таким образом, медленно и печально, идет процесс нормализации базы - превращения этого чудища со столбцом на 30-40 элементов в отдельную таблицу фраз и таблицу связей между 1otsev и фразами.
Но вы маетесь ерундой, дергая таблицы по одной и делая запросы в цикле.
1. Добавьте UNIQUE индекс на `frase`, и используйте INSERT IGNORE, после этого база сама не даст вставить дубль.
, как совершенно справедливо посоветовал Rsa97.
2. Прочитайте ВСЮ таблицу 1otsev и составьте массив фраз, которые должны быть в таблице key, в самом скрипте - не мучайте зря базу, уникальные значения и РНР отличать умеет.
3. А уже потом этот массив ОДНИМ запросом запихните в таблицу key.
4. Ну, и после этого можно будет прочесть таблицу key, спокойно пройтись еще раз по 1otsev, для каждой строчки составить данные для таблицы соответствий и опять-таки ОДНИМ запросом записать их. И еще одним - удалить этот дурацкий столбец с перечислением.
Вряд ли это займет больше часа...