Как по обычному полю с более чем 10 значениями - сортировка и бинарный поиск.
Судя по теме с высокой вероятностью тебе не нужны отдельные случайные события, а нужны данные блоками
SELECT *
FROM orders
WHERE -- условие для выбора строк, поступивших за последние 10 мс --
Так вот, хранить данные можно буквально в файлах
И он поддерживает RDMA (это вот когда вы говорите "забирать данные с сетевой карты напрямую", вы наверное это имеете в виду).
CREATE TABLE `GLASS` (
ticker ENUM (...) NOT NULL # 2 Байта
price DECIMAL(8,4) NOT NULL # 4 Байта
quantity MEDIUMINT NOT NULL # 3 Байта
oper TINYINT NOT NULL # 1 Байт
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
Ну или использовать при вставке (SELECT `id` FROM `operation_types` WHERE `name` = 'Купля').
А поля DATA и ENUM вообще всегда передаются как строки, только DATA должно быть в правильном формате, 'YYYY-MM-DD'.
CREATE TABLE `deals` (
`number` BIGINT UNSIGNED NOT NULL,
`date` DATE NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=cp1251
Например? Я за 20+ лет каких только задач не решал.