我有一个名为History
的表,其中客户的记录超过 1000万。
现在我希望ALTER
使用New Extra Column
ALTER
这个表,但这需要花费太多时间,有时甚至是服务器崩溃。
有没有更快的方法可以History
大表?
我的查询是:
ALTER TABLE
oldID
ADD COLUMNoldid16
BIGINT(20)UNSIGNED NULL, 添加索引oldID
(InnoDB
);
我正在使用public String getJWT(){
Date now = new Date();
long t = now.getTime();
Date expirationTime = new Date(t + 1300819380);
return Jwts.builder()
.setSubject("any subject")
.setIssuedAt(now)
.setExpiration(expirationTime)
.signWith(SignatureAlgorithm.HS512, "username")
.compact();
}
<--! to validate jwt -->
public boolean validateJWT(String jwt){
try {
Jwts.parser().setSigningKey("username").parseClaimsJws(jwt);
return true;
} catch (Exception e) {
// TODO: handle exception
return false;
}
}
。
答案 0 :(得分:0)
在MySQL Workbench数据库编辑器中有3个选项,不言自明:
如果您想在MySQL Workbench中完成任务,那么您必须为这些选项提供更高的值。
同样的原则应适用于所有编辑,包括Liquibase。
更多的是,在MySQL服务器中,您可以通过更改某些服务器系统变量来实现此目的:
和/或其他人,我不再了解他们了。
祝你好运!还有innodb特定变量作为改变的候选者,以完成您的任务。像这样,例如:
当然,所有更改和组合都取决于您的系统资源/配置/工作流程。
PS:对于这么大的操作,我们使用SQLyog,一个非常稳定和强大的数据库编辑器。最重要的是:我们从未像使用MySQL Workbench那样崩溃。所有数据库工作流程/流程都很顺利。
新建议:
oldid16
插入新列后单独索引。 PS:就个人而言,我看不到以其他方式运行ALTER
查询的其他选项,而不是原始问题所呈现的:整体而且一次性 - 可能之后,分隔{{ 1}}也是。