小编Aks*_*oel的帖子

用于定义和处理实时体育赛事的数据库建模

我试图实时存储和处理体育赛事,并希望创建一个最佳系统,因为这将每秒处理100个事件.系统将在体育比赛之前存储事件,然后实时或在半场/会话/比赛结束时处理它们.

在我的系统中,每个Event都分解为以下组件

  • WHO谁是与之相关的事件.团队,球员,裁判,观众等
  • WHAT 什么是事件(目标,通过,保存等)
  • WHEN 活动的时间细节
  • HOWMUCH 如何定义事件值
  • TYPE定义何时应该检查 - INDIVIDUAL:realtime, AGGREGATE:end ofWHEN

以下是足球的一些例子

1. No goals scored in 2nd Half
TEAM: *, WHAT: __GOAL, WHEN: __HALF_2, HOWMUCH: 0, TYPE: AGGREGATE 
{
    "who" : {"team":*},     
    "what" : "__GOAL",
    "when" : "__HALF_2"
    "howMuch" : {"value":0, "type" :"exact"},
    "type" : "AGGREGATE"
}


2. Either keeper to complete 3 or more punches
PLAYER: (p1 v p2), WHAT: __PUNCH, WHEN: __MATCH, HOWMUCH: 3+, TYPE: INDIVIDUAL
{ …
Run Code Online (Sandbox Code Playgroud)

database dsl database-design real-time

9
推荐指数
1
解决办法
187
查看次数

MySQL 8 上的写入速度非常慢 - 等待处理程序提交

我在边缘设备上安装了 MySQL 8 docker 安装,该设备有以下两个表可供写入

video_paths | CREATE TABLE `video_paths` (
  `entry` int(11) NOT NULL AUTO_INCREMENT,
  `timestamp` bigint(20) NOT NULL,
  `duration` int(11) NOT NULL,
  `path` varchar(255) NOT NULL,
  `motion` int(11) NOT NULL DEFAULT '0',
  `cam_id` varchar(255) NOT NULL DEFAULT '',
  `hd` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`entry`),
  KEY `cam_id` (`cam_id`),
  KEY `timestamp` (`timestamp`)
) ENGINE=InnoDB AUTO_INCREMENT=7342309 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
Run Code Online (Sandbox Code Playgroud)

CREATE TABLE `tracker` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `table_name` varchar(255) NOT NULL,
  `primary_key_name` varchar(255) NOT NULL,
  `pointer` …
Run Code Online (Sandbox Code Playgroud)

mysql performance innodb ffmpeg mysql-8.0

8
推荐指数
1
解决办法
2万
查看次数

'NOT GREATER THAN'条件Mysql

我有一列MySQL表useridcreatedon其中createdon列有DATE数据类型.

---------------------------------------------------------------------------------
ID                      UserId                         CreatedOn
1                         65                           2013-06-13 
2                         54                           2013-07-03
3                         34                           2013-08-23
4                         65                           2013-09-13 
5                         89                           2013-09-13
Run Code Online (Sandbox Code Playgroud)

现在我想要最后创建的用户标识在2013-09-08之前.正确的答案是用户ID 54,34

运用

select userid from table  where createdon <'2013-09-08'
Run Code Online (Sandbox Code Playgroud)

返回65,54,34和usind

select userid from table where userid notin (select userid from table where createdon > '2013-09-07')
Run Code Online (Sandbox Code Playgroud)

花了很多时间.

如何获取最后创建的行<2013-09-08

mysql sql

3
推荐指数
1
解决办法
1万
查看次数