A
A
Alexey Maslov2015-01-29 09:22:11
MySQL
Alexey Maslov, 2015-01-29 09:22:11

How to correctly select from two large tables?

В наличии две таблицы
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

так ни разу и не дождался окончания выполнения запроса.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
Иван Филатов, 2015-01-29
@lelick

Архитектура БД facepalm.
Про нормализацию вообще не слышали походу.
Вначале создадут БД в стиле "и так сойдет". Заполнят ее на over9000 записей и потом жалуются по Интернетам - почему у них все тормозит и запросы не работают.
неужели сейчас так учат программистов? или это самоучки на Фрилансе натаскались такое говно делать?

E
Eugene, 2015-01-29
@Nc_Soft

And what for 2 identical tables?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question