2014-12-12 7 views
1

Я хотел бы знать, есть ли разница в результате вывода того же запроса select на MyISAM Vs, что и на InnoDB для той же таблицы ,Разница в выборе результата запроса на MyISAM Vs InnoDB MySQL-движках (особенно для ПОЛНЫХ ТЕКСТОВЫХ ПОИСКОВ)

Вещь, о которой я знаю, это MyISAM, которая может выполнять поиск по FULL TEXT. Но будет ли порядок выпуска отличаться?

+0

Нет, для поиска не полного текста разница не будет. Заказ определяется предложением 'order by' в запросе. Никакой другой заказ не гарантируется – paqogomez

+0

Как насчет полного ПОИСКА ТЕКСТА? Позвольте мне обновить свой вопрос. Начиная с версий MySQL 5.6 и более поздних версий InnoDB также позволяет выполнять FULL TEXT Searches. – mohanjot

ответ

3

Порядок вывода определяется положением order by. У вас есть три возможности.

Во-первых, нет статьи order by. Тогда результирующий набор находится в неопределенном порядке. Вы не можете сказать, что выполнение одного и того же запроса на одних и тех же данных приведет к получению результатов в том же порядке для нескольких запусков. Вы определенно не можете делать какие-либо заявления о запусках в разных базах данных.

Во-вторых, существует статья order by, и это стабильный вид - это означает, что каждая клавиша для заказа однозначно идентифицирует каждую строку (нет связей). Затем результаты определяются как стандартом SQL, так и документацией MySQL. Результирующие наборы будут в том же порядке.

В-третьих, существует статья order by и имеются связи. Клавиши будут в том же порядке в обоих наборах результатов. Однако, поскольку ключи со связями могут быть в любом порядке, два набора результатов не гарантируются в том же порядке.

Резюме: если вы хотите получить результаты в определенном порядке, используйте order by.