есть база для ДХЦП, таблица leases, где хранятся выданные лизы
Код: Выделить всё
CODE INTEGER NOT NULL,
DT TIMESTAMP NOT NULL,
E_DT TIMESTAMP NOT NULL,
IP VARCHAR(15),
MAC VARCHAR(12) NOT NULL,
PORT_NO INTEGER,
SWITCH_MAC VARCHAR(12),
CODE_SWITCH INTEGER,
CODE_NET INTEGER
Код: Выделить всё
select max(e_dt)
from leases l
where l.mac = :user_mac and ip <> '0.0.0.0' and l.port_no = :port_no
and l.dt <= current_timestamp and l.e_dt > current_timestamp
он используется, но кол-во чтений к таблице при запросе равно кол-ву строк с данным маком
т.е. я так понимаю он нашел все строки с маком, а потом ищет среди них максимальную дату
это пока все на стадии тестирования, т.е. можно поменять все...
может кто подскажет, может использовать другую логику и структуру - потому как на рабочем объеме сервер загнется очень быстро