Как правильно произвести выборку из двух больших таблиц?

В наличии две таблицы
csv (MyISAM) (id, fa(varchar), im(varchar), ot(varchar), dr(date), sex(int 1)) - 2 млн. записей
dbf (MyISAM) (id, fa(varchar), im(varchar), ot(varchar), dr(date), sex(int 1), * - другие поля) - 1 млн. записей
На обеих таблицах на текстовых полях (fa, im, ot) - созданы индексы FULLTEXT

Необходимо из таблицы dbf выбрать только те - которые присутствуют в csv.
Таким способом:
select d.id, d.какое_то_поле from 
dbf d, csv c
where d.fa = c.fa
  and d.im = c.im
  and d.ot = c.ot
  and d.dr = c.dr
  and d.sex = c.sex

так ни разу и не дождался окончания выполнения запроса.
  • Вопрос задан
  • 2559 просмотров
Решения вопроса 1
NYMEZIDE
@NYMEZIDE
резюме - ivanfilatov.ru
Архитектура БД facepalm.
Про нормализацию вообще не слышали походу.
Вначале создадут БД в стиле "и так сойдет". Заполнят ее на over9000 записей и потом жалуются по Интернетам - почему у них все тормозит и запросы не работают.

неужели сейчас так учат программистов? или это самоучки на Фрилансе натаскались такое говно делать?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Nc_Soft
А зачем 2 одинаковые таблицы?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы