我们有一个表,每个用户每分钟都会存储数据。我们有大约1,000名用户。该表只有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;