所以我有一个巨大的更新,我必须将大约40 an的数据插入到innodb表中。这需要相当长的时间,所以我想知道哪种方法会是最快的(更重要的是为什么,因为我可以只做一个分裂测试)。
方法1)
a)插入所有行b) create ALTER TABLE su_tmp_matches添加主键( id )
方法2)
a) ALTER TABLE su_tmp_matches ADD PRIMARY KEY ( id ) b)插入所有行
目前我们使用的是方法1,但是步骤b)似乎花费了大量的时间。所以我想知道这里的大小是否有任何含义(40 if 500万行)。
-所以我决定也测试一下-非常快的全新mysql服
性能测试应该由构建工具作为构建过程的一部分来检测,还是应该完全驻留在外部?如果在外面,那么他们应该住在部署管道的哪里?
目前,我看到性能测试被附加到集成测试生命周期阶段。虽然现在还好,但我知道这似乎不太正确,我很难找到一个实际的答案,我们应该在哪里附加和运行这些性能测试。
为了解决这个问题,我们可以假设一个使用Jenkins For CI和Maven作为构建工具的环境。我们也可以假设scrum。
编辑以消除一些混乱:我主要是想确保select查询是快速的,而不会出现错误的做法,如果有一个isLatest字段被认为是错误的做法,而该信息可以从其他存储的数据中派生出来。
我有一种情况,管理员创建一个“蓝图”,用户使用该蓝图的“实例”,但不能修改任何由管理员设置的数据。通常,会有许多选择查询,很少有针对蓝图的创建/更新查询。以下是我目前的设计:
Table BluePrintFromAdmin
Long id //PK
String someData
String moreData
...
Table InstanceForUser
Long id