Почему выборка в MySQL быстрее чем в MongoDB

204
24 сентября 2018, 12:10

Подумываем о том, чтобы перенести логи с MySQL на MongoDB. В сообществе говорят что для таких задач монго неплохо подходит - быстрая скорость записи и быстрая обработка запросов.

Решили проверить перед переходом на MongoDB скорость записи и выборки опытным путем по сравнению с MySQL. Нам важно чтобы логи можно было фильтровать по 4-6 параметрам

Обе БД находятся на одной машине.

MySQL схема:

  • id INT
  • response ENUM
  • type_id INT (FK)
  • status_id INT (FK)

Пример строки: |1|CATCH|3|4|

MongoDB схема:

  • _id ObjectId
  • response STRING
  • data STRING
  • type STRING
  • status STRING

Пример документа: |blabla|CATCH|VISIT|PROCESSING|

В каждую БД было добавлено по 4 млн записей. Процесс записи в MongoDB был быстрее примерно в 2 раза.

В каждой БД были добавлены одиночные индексы по перечисленным ключевым полям.

Результат тестирования запросов следующий (LIMIT 10000):

  • По type(сек) MongoDB: 0.11 MySQL 0.32
  • По type+status(сек) MongoDB: 5.5 MySQL 0.40
  • По type+status(сек) MongoDB: 4.7 MySQL 0.5

Кеш запросов в MySQL был выключен. Вопрос: Почему выборка в MySQL произошла быстрее чем в MongoDB, хотя сообщество говорит обратное?

READ ALSO
Проверка пиксель в пиксель на мобильном приложении

Проверка пиксель в пиксель на мобильном приложении

Если нужно например проверит верстку пиксель в пиксель в браузере то это легкоДля браузеров есть программы для наложения ПДФ на верстку

158
Какая сетка у макета?

Какая сетка у макета?

Макет есть только в зеплинеНа стандартную сетку бутстрапа в 12 колонок не подходит

150
Chrome for iOS MSE support

Chrome for iOS MSE support

На странице https://caniusecom/#feat=mediasource мы можем видеть, что MSE не поддерживается на Safari для iOS, а Chrome имеет поддержку MSE без любых комментариев по данному...

177
owl carousel объединение блока стрелочек и точек

owl carousel объединение блока стрелочек и точек

Можно ли объединить блок стрелок и блок точек в один блок в данном плагине? https://owlcarousel2github

182