AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"

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

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

тесты на 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). Почему так происходит? Еще тестов?
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
1) Почему данные в малой таблице читается медленнее, чем в большой?
2) Скорость чтения бд в маленькой таблице. Она гораздо выше скорости работы с большой

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

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

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

Похожие вопросы