适合此场景的mysql表引擎

avwztpqn  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(158)

我们有一个表,每个用户每分钟都会存储数据。我们有大约1000个用户。该表只有11列。如前所述,每分钟为每个用户创建一个新记录,因此每天为每个用户创建1440个记录。该表的索引很高。
一旦创建,每小时通过cron作业读取和处理数据。
14天后数据被删除。这是一个滚动过程。
一般mysql的智慧似乎是将innodb用于所有事情,但是我们在使用innodb删除大量数据时遇到了问题。内存表是不好的,因为数据必须在重新启动后继续存在。
有没有人对其他mysql表引擎有足够的了解,知道在这种情况下使用不同的类型会更好?
以下是表定义:

CREATE TABLE geoc1clo_where.map_data (
      MapID bigint(20) NOT NULL AUTO_INCREMENT,
      Date date DEFAULT NULL,
      DeviceID varchar(128) DEFAULT NULL,
      Alarm varchar(255) DEFAULT NULL,
      FixTime datetime DEFAULT NULL,
      Valid int(1) DEFAULT NULL,
      Lat double DEFAULT NULL,
      Lon double DEFAULT NULL,
      Speed float DEFAULT NULL,
      Course float DEFAULT NULL,
      Address varchar(512) DEFAULT NULL,
      PRIMARY KEY (MapID),
      INDEX IDX_map_data (MapID, FixTime, DeviceID),
      INDEX IDX_map_data_FixTime (FixTime),
      INDEX IDX_map_data2 (DeviceID, FixTime),
      INDEX IDX_map_data3 (DeviceID, Date)
    )
    ENGINE = MYISAM
    AUTO_INCREMENT = 98169276
    AVG_ROW_LENGTH = 69
    CHARACTER SET latin1
    COLLATE latin1_swedish_ci;

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题