![]() |
|
Модераторы: LSD |
![]()
|
|
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
вот то, что пока сам родил, но хотел бы максимально оптимизировать, потому как количество данных будет уходить на несколько тысяч, если не больше
на входе DirectionClassification.classification_id в итоге нужно получить каждый Links.link_id, Links.remark
если что-то не совсем понятно объясню -------------------- менеджер по кодеврайтингу |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
А почему where, a не join?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
Akina, вообще есть один вариант и с join, однако ранее мне максимум приходилось сцеплять порядка трех последовательные таблицы, а здесь их целых пять, поэтому выложил без оптимизации.
-------------------- менеджер по кодеврайтингу |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
Мог бы конечно выложить что-нибудь типа ...FROM (table1 inner join table2 using (column) ).... но в оптимизации запросов навык не большой, боюсь нарваться на жуткую критику
-------------------- менеджер по кодеврайтингу |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Да хоть двадцать - какая разница? Нечто более отимальное чем связывание с принудительным использованием существующих индексов придумать трудно. Единственное, что можно будет оптимизировать дальше - это порядок, в котором таблицы связываются. В общем, надо смотреть EXPLAIN -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
разница в быстродействии, оптимизация нужна для того, чтобы запрос отрабатывал гораздо быстрее, чем меньше последовательных таблиц, тем проще с оптимизацией -------------------- менеджер по кодеврайтингу |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Изменение порядка связывания, корректировка макетов таблиц, введение и принудительное использование индексов - вот основной путь оптимизации от декартова произведения к прямой выборке. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
Akina, сенкс за explain, очень важную инфу в итоге нашел относительно KEY, как-то раньше я не придавал особого значения внешним ключам.
Вот только относительно порядка связывания таблиц не совсем разобрался, да и в манах как правило все довольно тривиально, хотелось бы ссылку на что-нить менее тривиальное -------------------- менеджер по кодеврайтингу |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
А все и есть тривиально. Открываем MySQL Help, находим раздел 5.2. "Оптимизация SELECT и других запросов". Читаем. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| Правила форума "Общие вопросы по базам данных" | |
|
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |