首先选择计数或检查自动增量ID的数据

时间:2014-11-09 17:22:15

标签: mysql innodb

我正在检查何时使用自动递增ID添加行 (简单的查询示例SELECT id FROM tbl where id> 1)但是想知道哪种方法更好

1)有2个查询计数(id),其中id> lastid然后选择if count> 0
2)有1个查询 - 只需选择...并让它返回0结果/如果没有新行则不执行任何操作

我的理解是count方法会更好,因为它不会触及实际数据并使用索引计数,但是使用2个查询但是1个查询会产生更大的影响并且每次都尝试从磁盘中获取

这适用于Mysql和INNODB表

1 个答案:

答案 0 :(得分:0)

您可以使用带有PRIMARY KEY标记的AUTO_INCREMENT列。所以你不必手动更新id:

CREATE TABLE myTable (
  `ID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(30) DEFAULT NULL,
  PRIMARY KEY (ID)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO myTable (name) VALUES ("Tom");
INSERT INTO myTable (name) VALUES ("Jerry");

SELECT * FROM myTable;

如果您想在这种情况下选择上次使用的ID,您可以执行

select LAST_INSERT_ID() ;