我有一个运行于tomcat / mysql的j2ee Web应用程序,我正在家里进行开发,已将其部署在家庭服务器上。我花了一些时间升级它,并对数据库架构进行了一些更改。
我重新编写了它的java / jsp / javascript端,然后将数据库转储到本地桌面上的文本文件中,将其复制到服务器上,然后通过source
加载该文件。命令,使其成为生产数据库。
当我这样做时,我立即注意到插入/更新非常慢。在以前的数据库版本中,我从未遇到过任何问题。
我尝试再次使用mysql source
命令完全删除数据库并重新创建。写仍然很慢。
数据库的生产和测试版本都是在ubuntu上运行的mysql。
test : 5.7.22-0ubuntu18.04.1
server: 5.7.20-0ubuntu0.16.04.1
我不知道16.04.1是否有所作为,但是以前版本的数据库没有问题。
我已经做了一些搜索,大多数结果都与InnoDB设置有关。但是由于以前的版本没有问题,所以我想知道这是显而易见的事情,例如文本文件导入了我没有看到的设置。
mysqldump文件中的所有表都在顶部:
LOCK TABLES `address` WRITE;
/*!40000 ALTER TABLE `address` DISABLE KEYS */;
不确定这是否是问题的一部分?我对表锁的了解有限,这与用户及其当前会话有关吗?但是同样,以前的版本使用的是mysql转储文件,而没有这个问题。
所有表都使用smallint自动增量值作为主键,并且db很小,大多数表只有大约1000行,而我目前是唯一的用户。
此外,具有相同架构的数据库测试版本可以正常运行。
有什么想法吗? 谢谢!