php - MYSQL Reset Auto Increment 提高性能

标签 php mysql innodb auto-increment

我有一个关于 MYSQL 数据库的问题,重置主键会提高性能吗?我使用自动增量作为键 (NumID) 见下文,但现在计数已达到 4200 万大关,最近我注意到性能上下波动。数据库大小为8GB,目前有45万行。我会定期转储该数据库的大部分内容(旧日期)。

CREATE TABLE IF NOT EXISTS `Count1` (
  `NumID` int(11) NOT NULL AUTO_INCREMENT,
  `MyUser` varchar(100) DEFAULT NULL,
  `MYitID` varchar(100) DEFAULT NULL,
  `APICalls` int(15) DEFAULT NULL,
  `ResultID` longtext,
  `ResultIDtotal` varchar(100) DEFAULT NULL,
  `Time` varchar(20) DEFAULT NULL,
  `iTime` varchar(50) DEFAULT NULL,
  `Date` varchar(30) DEFAULT NULL,
  `Record` varchar(30) DEFAULT NULL,
  `Notes` varchar(200) NOT NULL,
  PRIMARY KEY (`NumID`),
  KEY `MyitID` (`MyitID`),
  KEY `Date` (`Date`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=42386041 ;

提前致谢

最佳答案

重置 AUTO_INCREMENT 对性能影响不大。您可以通过重置稍微减少字段的存储大小。

更好地利用您的时间是在您的常用语句上运行 EXPLAIN 并确保在您尝试选择特定记录的任何地方都有正确的索引。

关于php - MYSQL Reset Auto Increment 提高性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28466057/

相关文章:

php - 当同时有 500+ 个请求到服务器时,如何在 mysql 中实现并发

php - Codeigniter 表单验证所需数组

php - 通过单击 anchor 标记将 PHP 变量发送到另一个页面

PHP:注销问题?

mysql - 如何使这个复杂的查询运行得更快?

mysql - SQLSTATE[40001] : Serialization failure: 1213 Deadlock issue caused by INSERT trigger on concurrent access

php - 从 PHP 变量设置 CSS 值

mysql根据特定条件导出表

mysql - 网站连接到数据库但未读取任何数据

mysql - 为正在运行的 mysql 实例填充缓冲池的好策略是什么?