现在情况是这样的有两个表 A/B ,其中 A 大概有 1k 多条记录, B 表中有 30k+条记录.
当 select * from A left join b on xxxx=xxxx .....,执行这样的外联时,基本上耗时 30+秒,检查下来,在 sendingdata 上基本上就用了 30s 左右,其中, A/B 表都为 InnoDB 引擎,外键都做了索引,现在 innodb_buffer_pool_size 设置为 384m 。
请问,这还需要设置那些地方,这种情况应该怎么处理啊……还是索引做的不对?
那个……在发完提问后,我去重新查看了下索引,发现确实有索引没有做好……后来尝试了一下,应该是没有问题了……
2
CheungKe 2015-08-24 09:53:29 +08:00
上面错了,应该是
外键等于另外一张表的主键 |
3
harry890829 OP @CheungKe 哦?这样会有对速度的提升么?
|
4
CheungKe 2015-08-24 19:10:37 +08:00
我理解错了,我们遇到的问题可能不一样。是 A 的 B 关联关系怎样,你要查询什么内容,如果内容比较多,是会比较慢。但是 30+肯定是不正常的
|
5
harry890829 OP @CheungKe 嗯嗯,后来发现索引缺了两个……哎,太马虎啊,加上索引之后直接变成 0.9s ,吼吼
|