Сортировка с помощью PHP против MongoDB - PullRequest
0 голосов
/ 19 октября 2011

Считайте, что я недавно вычислил миллион (1 000 000) значений.

Я хочу наивысшие 10 значений из этого миллиона значений.

Я не решаюсь выбирать, сортировать ли по PHP или использовать MongoDB (Indexed) для сортировки.

Я знаю, что меньшее использование БД может повысить общую производительность.

Но я не знаю, какой из них будет быстрее в этом случае, что если MongoDB невероятно быстр, так что даже использование MongoDB только для сортировки быстрее, чем с помощью PHP для сортировки.

Если php быстрее и эффективнее, какой алгоритм сортировки следует выбрать?

Дайте мне несколько советов.

1 Ответ

1 голос
/ 19 октября 2011

MongoDB имеет довольно хороший набор функций индексов , с другой стороны, в PHP вы можете использовать различные функции, такие как sort (который использует реализацию быстрой сортировки, кстати) и т. Д..

Я бы сосредоточился не только на скорости, если ваш параллелизм не минимален, подумайте, сортируете ли вы набор результатов в PHP каждый раз, когда хотите его отобразить, и прослушиваете X запросов, а затем объем памятибудет около X * array size + extra overhead до тех пор, пока не закончится запрос / запуск.

MongoDB имеет возможность разрешать вам выбирать сортировку индекса при их создании, так что это может быть хорошей идеей, поскольку данные собираютсябыть добавлен в B-дерево для индексации в правильном порядке (в то время как в другой руке он будет замедлять вставки по той же причине)

Итак, нижняя строка, возможно, еслиЯ бы выбрал сортировку PHP, но в этом случае (и, как обычно, такие вопросы заканчиваются), я бы порекомендовал вам провести сравнительный анализ и принять решение о реальных данных.а.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...