Задать вопрос
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). Почему так происходит? Еще тестов?
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
1) Почему данные в малой таблице читается медленнее, чем в большой?
2) Скорость чтения бд в маленькой таблице. Она гораздо выше скорости работы с большой

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

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽