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

Solmyr
На сайте с 10.09.2007
Offline
501
334

Под "правильно" понимается с максимальным быстродействием.

Имеется три таблицы:


t1
----------------
| id | разные другие колонки
| |

t2
----------------
| id | разные другие колонки
| |

index
------------------------
| src | item_id | weight |
| t1 | 1 | 0.2345 |
| t2 | 15 | 0.15 |
| t1 | 45 | 0.76 |

итд.

Колонки в таблицах t1 и t2 разные

В таблице index хранится индекс-указатель на данные из двух других таблиц в виде двух колонок, в одной из них название таблицы-источника (здесь t1 и t2), в другой id элемента в таблице-источнике (здесь 1, 15, 45).

Требуется, например, выбрать данные из таблиц t1 и t2 такие что, допустим weight соответствующих строк от 0.5 до 0.6 и отсортировать результирующую выборку по weight.

Записей во всех таблицах много (сотни тысяч)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий