【发布时间】:2016-07-02 17:36:15
【问题描述】:
我有一个后处理应用程序,需要为数百万记录表的每个条目添加三个值。该过程每 15 分钟运行一次,并且需要向该表的每一行添加三个值。向该表添加三列(更新)还是创建一个带有外键的新表(插入)更好?
编辑: 认为这是一个更普遍的问题,但根据请求:
CREATE TABLE `position` (
`idPosition` int(10) unsigned NOT NULL AUTO_INCREMENT,
`idRover` int(10) unsigned DEFAULT NULL,
`TimeHack` datetime NOT NULL DEFAULT '1970-01-01 00:00:00',
`Milliseconds` smallint(4) unsigned NOT NULL DEFAULT '0',
`n` double NOT NULL DEFAULT '0',
`e` double NOT NULL DEFAULT '0',
`z` double NOT NULL DEFAULT '0',
`nx` double DEFAULT '0',
`ny` double DEFAULT '0',
`nz` double DEFAULT '1',
`valid` tinyint(1) DEFAULT '0',
`Reverse` tinyint(1) NOT NULL DEFAULT '0',
`Azimuth` double DEFAULT '0',
`cutfill` double DEFAULT NULL,
PRIMARY KEY (`idPosition`),
UNIQUE KEY `positionrovertime` (`idRover`,`valid`,`TimeHack`,`Milliseconds`),
KEY `fkPositionidRover` (`idRover`),
CONSTRAINT `fkPositionidRover` FOREIGN KEY (`idRover`) REFERENCES `rover` (`idRover`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=574050 DEFAULT CHARSET=latin1;
不是我的设计,只是我必须使用的。我知道有一堆WTF。我需要在此表的 PK 上添加 3 个双精度列或一个具有 PK 和 FK 的四列的新表。
【问题讨论】:
-
SHOW CREATE TABLE。向我们展示您的初步查询。
标签: mysql indexing foreign-keys