
mysql中explain执行结果中的rows究竟是怎么个统计原理
1个回答
展开全部
mysql中explain执行结果中的rows究竟是怎么个统计原理
r这里的rows表示的是mysql执行过程中处理的条数。
根据图中显示:三个条件比两个条件的执行过程处理的条数更多了,其原因应该是由于mysql执行条件的顺序造成的,新引入的条件列c被作为第一优先执行,而这个条件的执行影响到的rows数量超过了条件列a或列b。
第一次执行,条件只有a和b时,mysql执行顺序是a或b中优先级高的,假设为b,那么此时rows的数值就是执行b所涉及到的条数。
第二次执行,条件为a,b和c,根据执行结果,mysql执行顺序发生了变化,先执行c了,那么此时rows的数值就变成了执行c所涉及的条数。而不巧的是条件c涉及的rows比b的多,结果导致条件增加时,处理的条数也增加了。
r这里的rows表示的是mysql执行过程中处理的条数。
根据图中显示:三个条件比两个条件的执行过程处理的条数更多了,其原因应该是由于mysql执行条件的顺序造成的,新引入的条件列c被作为第一优先执行,而这个条件的执行影响到的rows数量超过了条件列a或列b。
第一次执行,条件只有a和b时,mysql执行顺序是a或b中优先级高的,假设为b,那么此时rows的数值就是执行b所涉及到的条数。
第二次执行,条件为a,b和c,根据执行结果,mysql执行顺序发生了变化,先执行c了,那么此时rows的数值就变成了执行c所涉及的条数。而不巧的是条件c涉及的rows比b的多,结果导致条件增加时,处理的条数也增加了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询