![]() |
|
Модераторы: LSD |
![]()
|
|
| gcc |
|
||||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: нет Всего: 17 |
была ткая тема: http://forum.vingrad.ru/forum/topic-52054/unread-1.html
Что быстрее? 1 cлучай:
2 cлучай:
а как это в PgSQl есть база 10гиг DBmail VDSManager t1
t2 ничего нут в индексах |
||||||
|
|||||||
| Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: 2 Всего: 72 |
Во-первых, должны быть равнозначны. Проверь генерируемые запросы через EXPLAIN <текст_запроса>.
Во-вторых, почему бы не заменить внешний джойн на внутренний, это проще и понятнее для чтения:
Слово INNER можно опустить, тип джойна внутренний по умолчанию, если не указано иначе. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: нет Всего: 17 |
на всех программа которых я видел на php+MySQL везде стоит LEFT JOIN иногда WHERE, на Oracle INNER JOIN
INNER JOIN - это тоже самое что срванить и через WHERE, если я правильно понял тогда переделаю на INNER JOIN Это сообщение отредактировал(а) gcc - 19.8.2009, 08:39 |
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 2 Всего: 44 |
удалил.
Это сообщение отредактировал(а) DimW - 19.8.2009, 09:31 |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 454 |
Совсем не то же самое... вот, например, выдержка из справки по MySQL
Если почитать ещё и посравнивать - выяснится, что LEFT/RIGHT JOIN выполняется как INNER JOIN плюс дополнительные прибабахи. Которые процесс, ясен пень, не ускоряют. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 2 Всего: 44 |
||||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 454 |
Вот пусть и работает. Если автору это действительно нужно, он пойдёт на сайт мускула и сам почитает. Или найдёт аналогичный раздел в документации на свою СУБД. Мне оно сто лет не надо... А если ему влом - может поверить на слово. Или не поверить. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 2 Всего: 44 |
речь не о том кому влом, а кому нет.
речь о том что ваш ответ: на вопрос:
не верен, так как обрабатываться оптимизатором должен одинаково, исключением может быть только глюкавость самого оптимизатора. |
|||
|
||||
| Akina |
|
||||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 454 |
Прочитайте ещё раз.
абсолютно то же (план исполнения должен быть идентичен), что и
но вовсе не то же самое, что
В третьем варианте работы серверу будет больше - не думаю, что оптимизатор сможет правильно привести этот запрос к одному из первых двух. Так вот именно эту неэквивалентность я и показываю. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||||
|
|||||||
| DimW |
|
||||||||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 2 Всего: 44 |
создаем таблицы и заполняем их данными(СУБД оракл):
выполняем первый запрос:
смотрим план запроса:
второй запрос:
план:
третий запрос:
план:
из преведенных планов видно что они идентичны. статистику выкладывать не буду, поверьте мне на слово - она тоже совпадает. не нужно данный пример расценивать как руководство к действию т.к. пример был приведен из конкретной СУБД конкретной версии! |
||||||||||||||||
|
|||||||||||||||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 454 |
Если не влом - план для последнего запроса, но без where, не затруднит? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| DimW |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 2 Всего: 44 |
если что: Oracle9i Enterprise Edition Release 9.2.0.8.0 |
||||||
|
|||||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 454 |
Умный, собака
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 2 Всего: 44 |
||||
|
||||
![]()
|
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PostgreSQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |