Знающие люди подскажите какие подходы применяются для подобного рода вещей. Есть таблица на 500000 записей. У каждой записи два статуса "Выполнено" и "Просроченно" Так же в кабинете пользователя два фильтра: Выполнено(столько то штук) и Просроченно(столько то штук). При нажатии на которые уже идет постраничный вывод на экран. Если со статусом "Выполнено" проблем нет. То со статусом "Просроченно" есть проблеммы с производительностью т.к для определения просрочки необходимо ильзовать формулу (Дней отведенных по договору<Кол-во дней по факту=Просрочка). +Ко всему прочему скрипт подсчета выполняется в кабинете пользователя(достаточно один раз в день считать кол-во просрочек). Подскажите как это обычно делается?
Таблица $create=mysql_query (" create table records (id INT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), status int(1), date date) ;"); date2=текущая дата, date1=дата записи заявки Запрос: select (to_days(date2)-to_days(date1))>3 from test;
Если date в records - время добавления записи, и нужно выбрать записи, date у которых был 3 и более дня назад, то SELECT * FROM records WHERE date < SUBDATE(NOW(), 3); И индекс по date, конечно. Вполне себе нормальная выборка. Потом поверх можно просто кешировать ее результаты где-то отдельно, в мемкеше, например.