cae32 (cae32) wrote,
cae32
cae32

Гм, продолжаем изучать подводные камни mysql

In MySQL, JOIN, CROSS JOIN, and INNER JOIN are syntactic equivalents (they can replace each other). In standard SQL, they are not equivalent. INNER JOIN is used with an ON clause, CROSS JOIN is used otherwise.
===================
Блин! А я-то думаю, почему даже при толковом ON оно тормозит, хотя толково написанный ON сильно ограничивает выборку как слева, так и справа. Они, видимо, делают тупое произведение, а потом в WHERE начинают оптимизировать. Нежданчик.
Теперь не удивлён, что все делают SELECT в perl-php, а потом руками JOIN. И это, типа штатное поведение, "так все делают, почему вы удивлены? иначе тормозит, все же это знают" На состояние разных таблиц между операторами и возможные race пох :)
Пятнадцать лет, как минимум, а оно всё так же... Миллионы леммингов напишут-таки Шекспира, сомнений нет.
Tags: mysql
Subscribe

  • Логика - ok

    Изучаю тут одну выборку из базы. mysql. Это важно, потому что на остальных я пока не поглядел, да, может, и не буду, некогда. Что мы видим в…

  • Понаехал обратно по делам

    Ехали туда мимо Каменска - увидели ВЭС, ехал обратно мимо Гукова - увидел ВЭС. В таймс на месте прочёл, что Голубев благословил в родном Азовском…

  • Немного симпатичного Ростова

    Автор - MBK.

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment