CREATE TABLE t_latency (
id INT NOT NULL PRIMARY KEY,
server_id INT NOT NULL,
ts DATETIME NOT NULL,
latency FLOAT NOT NULL,
KEY ix_latency_server_time_latency (server_id, ts, latency),
KEY ix_latency_server_latency (server_id, latency),
KEY ix_latency_time (ts)
)
Я хочу иметь возможность запрашивать задержки ввода-вывода с 13:00 до 15:00 для сервера Atriedes
на August 19th, 2007
SELECT *
FROM t_latency
WHERE server_id = @id_of_atriedes
AND ts BETWEEN '2007-08-19 01:00' AND '2007-08-19 03:00'
-- will use ix_latency_server_time_latency
Я хочу также иметь возможность запрашивать время задержки ввода-вывода на сервере Harkonnen, где задержки ввода-вывода превышают 40 мс.
SELECT *
FROM t_latency
WHERE server_id = @id_of_harkonnen
AND latency > .04
-- will use ix_latency_server_latency
Я хочу найти все серверы с задержками выше 100
мс на August 1st, 2007
.
SELECT DISTINCT server
FROM t_latency
WHERE ts >= '2007-08-01 00:00'
AND ts < '2007-08-02 00:00'
AND latency > 0.1
-- will use ix_latency_time