У меня есть таблица со 10000 строками и 2 столбцами INTEGERS (id,start_timestamp,speed_qty_per_second
).MySQL получить данные по вычисленному результату
Когда MySQL SELECT, мне нужно рассчитать результаты по выбранным значениям. я сделать расчет:
$duration_time = time() - $start_timestamp;
$actual_qty = $duration_time * $speed_qty_per_second;
нужно выбрать данные из таблицы WHERE $actual_qty > 100
. К этим данным будет обращено большое количество пользователей на часто посещаемых сайтах, например, каждый раз в секунду для каждого пользователя.
Что такое наилучший подход, для хранения кэшированных данных?
- MEMORY MySQL стол?
- Файл (csv, XML)?
Отметка хранится в виде целого числа? Остерегайтесь, [2038] (https://en.wikipedia.org/wiki/Year_2038_problem). – 1615903
Не могли бы вы добавить подробную информацию о том, какой интерфейс? Если это веб-приложение, memcached и управление детализацией, когда принять изменение во времени() (например, один раз в секунду передавать живой запрос через бэкэнд), или можно нажать на уровне sql условие> 100 на вычисляемое количество (агрегат) в предложение наличия, или вместо использования бэкендов csv/xml вытесните базу данных sqlite, которую вы также можете запросить через sql. Пожалуйста, еще несколько деталей, так как ** наилучший ** подход будет зависеть от этого. Думаю, лучшего глобального решения нет. – Dilettant