NightFlash
Новичок
тормозит JOIN
И снова обращаюсь я к Вам, о великие
есть 2 таблицы, Туристические туры и Курорты.
Задача, из Тур.туров выбрать все существующие Уникальные id'шники курортов по опр. стране, к ним подцепить названия курортов и вывести их в алфавитном порядке.
Таблица туров (для упрощения):
id INT(11)
country_id INT(11)
resort_id INT(11)
Таблица курортов:
id INT(11)
country_id INT(11)
title VARCHAR(80)
да, база денормализована и там и там есть country_id
Есть индекс по resort_id для туров
и индекс (title, id, coutry_id) для курортов
Пишем запрос:
search1: это индекс по country_id
Время выполнения 8 сек.
Ваше мнение?
И снова обращаюсь я к Вам, о великие

есть 2 таблицы, Туристические туры и Курорты.
Задача, из Тур.туров выбрать все существующие Уникальные id'шники курортов по опр. стране, к ним подцепить названия курортов и вывести их в алфавитном порядке.
Таблица туров (для упрощения):
id INT(11)
country_id INT(11)
resort_id INT(11)
Таблица курортов:
id INT(11)
country_id INT(11)
title VARCHAR(80)
да, база денормализована и там и там есть country_id
Есть индекс по resort_id для туров
и индекс (title, id, coutry_id) для курортов
Пишем запрос:
PHP:
mysql> SELECT t1.resort_id, t2.title AS rtitle FROM travels AS t1 RIGHT JOIN resorts AS t2 ON t2.id=t1.resort_id WHERE t1.country_id=50 GROUP BY t2.title;
+-----------+---------------------------------+
| resort_id | rtitle |
+-----------+---------------------------------+
| 60 | Анталийское побережье - Алания |
| 59 | Анталийское побережье - Анталия |
| 62 | Анталийское побережье - Белек |
| 63 | Анталийское побережье - Кемер |
| 61 | Анталийское побережье - Сиде |
| 58 | Кушадасы |
| 65 | Мармарис |
| 220 | Стамбул |
+-----------+---------------------------------+
8 rows in set (8.34 sec)
+----+-------------+-------+--------+--------------------------------------+---------+---------+---------------------+--------+----------------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+--------+--------------------------------------+---------+---------+---------------------+--------+----------------------------------------------+
| 1 | SIMPLE | t1 | ref | search1 | search1 | 5 | const | 525531 | Using where; Using temporary; Using filesort |
| 1 | SIMPLE | t2 | eq_ref | PRIMARY | PRIMARY | 4 | atlas2.t1.resort_id | 1 | |
+----+-------------+-------+--------+--------------------------------------+---------+---------+---------------------+--------+----------------------------------------------+
Время выполнения 8 сек.
Ваше мнение?