mysql在非常基本的查询、索引、外键和所有内容上的慢速连接看起来都是一致的

qltillow  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(183)

我有两个模式,都是相同的,其中一个的数据量少了5倍,查询速度慢了120倍,索引、外键、数据库服务器和其他我能想到要检查的东西都一样。
以下是两个查询:

-- Bigger Database, takes .5 seconds, has ~900k and 80 records

select *
  from schemaA.bb_quote
  inner join schemaA.scb_user
    ON scb_user.usr_uid = bb_quote.q_usr_uid
  order by q_quoteid desc
  limit 20;

-- smaller database, takes 2 minutes, has ~211k and 4 records

select *
  from schemaB.bb_quote
  inner join schemaB.scb_user
    ON scb_user.usr_uid = bb_quote.q_usr_uid
  order by q_quoteid desc
  limit 20;

我运行以下命令来解释命令,解释是不同的。

explain select *
          from schemaA.bb_quote
          inner join schemaA.scb_user
            ON scb_user.usr_uid = bb_quote.q_usr_uid
          order by q_quoteid desc
          limit 20;

explain select *
          from schemaB.bb_quote
          inner join schemaB.scb_user
            ON scb_user.usr_uid = bb_quote.q_usr_uid
          order by q_quoteid desc
          limit 20;


第二种解释是完全不同的。我不确定下一步要采取什么调试步骤。
我读过很多次,这是由于他们没有足够的内存,它需要创建一个文件来做它的工作。这是在awsrds中运行的,并且监视确实有一个~20gig的已利用硬盘空间,然后它会恢复所有内存,而另一个查询不会这样做。
判断这两种模式的不同之处的最佳方法是什么?

调试完成

使用mysqldump删除和重建模式问题仍然存在。
删除并重新创建所涉及的外键
测试12个相同的模式

评论中的附加信息

版本=MySQL5.5.46
q\u quoteid在bb\u quote表中
explain format=json select不起作用,我认为这个版本的mysql不支持它

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题