开发过程中遇到一个sql,两张表a,b连接查询.a表数据量在3000左右,
b表数据量在1w左右,连接时使用b表主键可a中某字段进行相等连接
a表全表扫描,b表通过主键连接EXPLAIN中row应为1,却显示1w,等于
每次连接都全表扫描a表,相当与共扫描行数3000*1w次,耗时很久.
一般这种情况是两表字符集与排序规则均不相同,或者你全表这张表是主表,所以连接查询sql在排查时,主表一直是扫描的全表。
开发过程中遇到一个sql,两张表a,b连接查询.a表数据量在3000左右,
b表数据量在1w左右,连接时使用b表主键可a中某字段进行相等连接
a表全表扫描,b表通过主键连接EXPLAIN中row应为1,却显示1w,等于
每次连接都全表扫描a表,相当与共扫描行数3000*1w次,耗时很久.
一般这种情况是两表字符集与排序规则均不相同,或者你全表这张表是主表,所以连接查询sql在排查时,主表一直是扫描的全表。