У меня есть большая таблица (миллионы строк), где мне нужно найти группы записей, основываясь на наличии определенного значения столбца и где указанное «время ожидания» не произошло. Я полагаю, что один из подходов заключается в том, чтобы найти по всей таблице, где произошли эти промежутки времени ожидания.
Пример таблицы:
+----------------+------+
| time | base |
+----------------+------+
| 1245184797.064 | a |
| 1245184802.020 | a |
| 1245184807.103 | b |
| 1245184812.089 | b |
| 1245184816.831 | b |
| 1245184821.856 | a |
| 1245184821.856 | a |
| 1245184855.903 | a |
| 1245184855.903 | b |
| 1245184858.362 | b |
| 1245184858.362 | b |
| 1245184860.360 | a |
| 1245184860.360 | a |
| 1245184862.174 | a |
| 1245184862.174 | b |
| 1245185001.480 | b |
| 1245185417.556 | a |
| 1245185417.844 | a |
| 1245185419.960 | b |
| 1245185420.181 | b |
+----------------+------+
Учитывая этот набор, как бы я быстро нашел точки в таблице, где base = a не произошло в течение заданного количества секунд (скажем, 5).
Чтобы свести это к минимуму, моя цель состоит в том, чтобы найти диапазоны записей, в которых база = HAS происходила постоянно без истечения времени ожидания.