Провел небольшие тесты для понимания скорости работы с файлами/бд, получились такие результаты
результат
тесты на 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). Почему так происходит? Еще тестов?