Вход

Просмотр полной версии : Способ сортировки


Raadsert
18.05.2022, 19:25
Здравствуйте.

Недавно прочёл статью по сортировке данных и о множестве алгоритмов для сортировки. (Вот эту: https://habr.com/ru/post/335920/)

И мне стало интересно а какой алгоритм использует MySQL при обращении к базе данных с командой на сортировку. Я к сожалению не нашёл ответа на просторах интернета, как и информацию о логике работы MySQL. Возможно кто-то может подсказать, если кто-то знает?

p.s. Просто думаю что способ сортировки который использует MySQL является самым лучшим, раз он пользуется большой популярностью.

micscr
19.05.2022, 07:55
В реляционных БД такие вещи делаются индексами

ksa
19.05.2022, 11:40
Просто думаю что способ сортировки который использует MySQL является самым лучшим, раз он пользуется большой популярностью.
Что есть в твоем понимании "популярность"? :)

Например 100 человек что-то на этом (простеньком) сделали...
А одна контора на другом (очень навороченном) замутила нечто в мировых масштабах...
Получается что первое популярнее второго. Но далеко не с самыми лучшими алгоритмами и возможностями.

voraa
19.05.2022, 13:01
способ сортировки который использует MySQL является самым лучшим
Не бывает "лучшего" способа сортировки.
Все зависит от конкретных условий.
Отсортировать массив в памяти, совсем не тоже самое, что отсортировать массив на диске.
И даже сортировка в памяти зависит от самого массива. Что в массиве? Только числа, или более сложные объекты, объекты хранятся в самом массиве (как может быть в С/С++) или просто где то в памяти, а массиве только указатели на них (как в JS).
Насколько "дорогие" операции сравнения и перестановки....

Для конкретной постановки задачи и применяется конкретный алгоритм.

Raadsert
19.05.2022, 14:41
В реляционных БД такие вещи делаются индексами

А где можно поподробнее почитать об этом?

Raadsert
19.05.2022, 14:43
В реляционных БД такие вещи делаются индексами

Не бывает "лучшего" способа сортировки.
Все зависит от конкретных условий.
Отсортировать массив в памяти, совсем не тоже самое, что отсортировать массив на диске.
И даже сортировка в памяти зависит от самого массива. Что в массиве? Только числа, или более сложные объекты, объекты хранятся в самом массиве (как может быть в С/С++) или просто где то в памяти, а массиве только указатели на них (как в JS).
Насколько "дорогие" операции сравнения и перестановки....

Для конкретной постановки задачи и применяется конкретный алгоритм.

Я знаю об этом. Именно поэтому захотелось знать каким способом это делаю в базах данных MySQL

ksa
19.05.2022, 15:02
захотелось знать каким способом это делаю в базах данных MySQL
Наверняка у них есть профильный форум... ;)

Raadsert
19.05.2022, 17:39
Наверняка у них есть профильный форум... ;)

Только вот вряд ли им будет понятна статья об алгоритмах и при чём тут JS.

ksa
19.05.2022, 18:36
и при чём тут JS
У меня к тебе встречный вопрос... Каким боком на форуме JS вопросы про устройство MySQL?

Raadsert
19.05.2022, 20:19
У меня к тебе встречный вопрос... Каким боком на форуме JS вопросы про устройство MySQL?

Потому что на форуме JS могут знать алгоритм который используется в MySQL.