Доступ к вашим 20 тыс. записей легко обеспечит правильно настроенный индекс в любой СУБД.
И любой не сильно сложный запрос будет выполнятся как будто у вас 20 записей в неоптимизированной таблице.
Еще с переходниками USB можно наколоться, что старые переходники, преимущественно USB 2.0, некорректно транслируют LBA на дисках большой емкости (от 1 Тбайт). Они отображаются с размером ~750 Гбайт, и есть большой соблазн их отформатировать. Возможно, у автора вопроса тот самый случай.
Нужно смотреть условия площадки, где размещается проект. Риски есть, но без данных, заинтересованы ли люди продуктом, никто из компаний серьезно рассматривать проект не будет.
Единственная проблема, что на втором мониторе играть в перерывах между разработкой в CS GO будет менее эффективно, в остальном - вообще никак не отразится.
Это только моя гипотеза.
Нужно выполнить функцию и сразу посмотреть содержимое файла редактором в режиме подсветки переносов строк и пробелов, чтобы вы каждый невидимый байт видели. А потом сопоставить результат с тем, какое значение возвращает функция.
Без анализа содержимого файла, это гадание на кофейной гуще.
mletov, вероятно, билеты выдаются не на один полет, а на весь маршрут, либо имеют опцию "туда-обратно", в общем, не хватает каких-то условий либо на сортировку, либо на отсечение по не ключевым атрибутам ticket_filghts.
Эта конструкция вам посчитает кол-во строк в файле: sizeof(file("session1.txt"));
См. пример 1 из документации.
А это даст вес в байтах: filesize("session1.txt");
См. доку.
Да, нужно заворачивать. Просто тег code некорректно подсвечивает синтаксис php, если добавлять такие мелочи.
Все так делаете, в первый раз у вас что-то с единичкой получилось, во второй раз с двойкой - синтаксически все завелось. Только осталось разобраться а тот ли результат вы хотели получить.
Как отличить полезную информацию от бесполезной и ложной.
Как сделать из полученной информации правильные выводы и прогнозы.
Хочу добавить, что в эти аспекты вникают по большей части, изучая точки зрения коллег по цеху (а лучше чтобы это была дискуссия или спор). Без этого есть риск оказаться в информационном пузыре, если заниматься самоизучением без практического взаимодействия с людьми.
Не хочу погружаться в код, достаточно объяснить на пальцах (на языке математики).
Как примерно надо:
цена_будни = 100;
цена_выходной = цена_будни + 10;
кол-во = 3;
Если выбрали будни, то вывести кол-во * цена_будни.
Если выбрали выходной, то вывести кол-во * цена_выходной.
А вы делаете так:
цена_будни = 100;
кол-во = 3;
Если выбрали будни, то вывести кол-во * цена_будни.
Если выбрали выходной, то прибавить цена_будни + 10, перезаписав это значение, и вывести кол-во * цена_будни.
PS: Вы постановку задачи не привели, возможно, там есть нюансы. Умозаключение выше получено чисто по собственным соображениям.
Чтобы заказчику были интересны мощности рядового юзверя, нужно обязать этого юзверя давать эти мощности по гарантированной метрике, то есть, заключать прямой договор с кучей формулировок, которые будут содержать слова "не менее" и "не более", а не "до":
- Отказ в доступе системы в случае сбоя не более 10 минут в год.
- Канал связи - не мнее 1 Гбит/с, с возможными просадками скорости до 100 Мбит/с на 10 минут в год.
- Такие же требования к загрузке CPU.
- ... RAM.
- ... GPU.
- ... Дискового пространства.
Если это все сложить в единое целое, то выяснится, что заказчику интересны только сервера с коммерческим доступом в интернет, и обвесом оборудования, обеспечивающего отказоустойчивость. В итоге, обычному пользователю со своим компом делать нечего, он не подходит ни по каким критериям, чтобы кому-то помочь со своими мощностями.
И любой не сильно сложный запрос будет выполнятся как будто у вас 20 записей в неоптимизированной таблице.