AleksandrB
@AleksandrB

Почему данные в малой таблице читается медленнее, чем в большой?

Провел небольшие тесты для понимания скорости работы с файлами/бд, получились такие результаты
результат

тесты на 10 000 циклов
file
START: 15707185980.62907200
END: 15707186510.92335200
RES: 530.29428

db (big) 14к*50 строк
START: 15707190800.18521600
END: 15707191390.85553600
RES: 590.67032

db (medium) 500*50 строк
START: 15707198270.01466500
END: 15707198850.49821400
RES: 580.483549

db (small) 1 строка
START: 15707201550.83973700
END: 15707202200.88409300
RES: 650.044356

for file: file_get_contents()
for db: select X from Y where id = M
db: mysql 5.6, php 7.3, PDO
time: sec
порядок: file, db big, db med, db small

Прошу обратить внимание на скорость чтения бд в маленькой таблице. Она гораздо выше скорости работы с большой и средней при идентичных запросах. Тесты, конечно, проводились не в идеальных условиях, но были прогнаны несколько раз, в следствии чего, в примерном результате я уверен (тест с маленькой проводил больше всех, результат колеблется 610-700). Почему так происходит? Еще тестов?
  • Вопрос задан
  • 113 просмотров
Пригласить эксперта
Ответы на вопрос 2
@FanatPHP
1) Почему данные в малой таблице читается медленнее, чем в большой?
2) Скорость чтения бд в маленькой таблице. Она гораздо выше скорости работы с большой

Это всё что вам надо знать про многочисленных любителей тестировать производительность на пустом месте вообще и про этот вопрос в частности.
Ответ написан
@402d
начинал с бейсика на УКНЦ в 1988
Такое впечатление, что вы муску в тестах пытает в роли кей валуе хранилища. Использовать её в такой роли не правильно. Но если очень надо, то таблица должна быть в ОЗУ целиком. Есть статьи на эту тему.

А так попробуйте на файлах сделать типовую для СУБД задачу по выбору всех строк по значению нескольких полей
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
21 нояб. 2019, в 11:21
200000 руб./за проект
21 нояб. 2019, в 10:21
140000 руб./за проект
21 нояб. 2019, в 09:33
500 руб./за проект