我需要一些帮助或指导来寻找与 RDS 上的 mysql 相关的奇怪问题。
我们有两个环境,一个在 EC2 上,本地安装了 Mysql,一个 RDS mysql 实例。两者都具有相似的硬件并具有相同的数据。
在这两种情况下,我们都运行相同的存储过程,都从第三个来源(EC2 实例)运行
在 EC2 实例上 启用分析后,查询在 0.33 秒内运行查询正常,0 行受影响(0.33 秒)
显示个人资料;
0.00012025 调用 crmDisplayDonorProfile(3139, 21)
0.000048 如果存在 tblProfile 则删除临时表 0.022021
如果不存在则创建临时表 donCodes (cd char(1))
0.0000755 从 donCodes 中删除
0.000111 插入 donCodes (cd) 值 (substring(strParse,1, 1) ) ) 0.0041805 删除临时表 donCodes
0.02201925 如果不存在则创建临时表 donCodes (cd varchar(2)) 0.00007275 从 donCodes 中删除
0.0040465 删除临时表 donCodes
0.02208925 如果不存在则创建临时表 donCodes (cd char(1))
0.0001155 从 donCodes 中删除
0.00015625 插入 donCodes (cd) 值 (substring(strParse,1, 1) ) 0.00342425 删除临时表 donCodes
0.02178325 如果不存在则创建临时表 donCodes (cd varchar(2)) 0.0001055 从 donCodes 中删除
0.00390075 删除临时表 donCodes
0.00042475 select * from tblProfile
0.00571425 删除临时表 tblProfile
在 RDS 实例上
查询正常,0 行受影响(1.84 秒)
0.00010275 调用 crmDisplayDonorProfile(3139, 36)
0.00006275 如果存在 tblProfile 则删除临时表 0.02370575
如果不存在则创建临时表 donCodes (cd char(1))
0.00007175 从 donCodes 中删除
0.00010025 插入 donCodes (cd) 值 (substring(strParse,1, 1) ) ) 0.0038815 删除临时表 donCodes
0.0226735 如果不存在则创建临时表 donCodes (cd varchar(2)) 0.00006475 从 donCodes 中删除 0.00182825
删除临时表 donCodes
0.0253065 如果不存在则创建临时表 donCodes (cd char(1))
0.0001185 从 donCodes 中删除
0.00015075 插入 donCodes (cd) 值 (substring(strParse,1, 1) ) 0.00297025 删除临时表 donCodes
0.0191115 如果不存在则创建临时表 donCodes (cd varchar(2)) 0.00009825 从 donCodes 中删除
0.00280375 删除临时表 donCodes
0.0002995 从 tblProfile 中选择 *
0.00460175 删除临时表 tblProfile
当我从分析中添加查询时,基本上是相同的。
所以问题是额外的延迟来自哪里?
任何想法或方向将不胜感激。