索引和锁可以让查询锁定更少的行.如果你的查询从不访问那些不需要访问的行,那么就会锁定更少的行,从两个方面来看这对性能都有好处.首先,虽然innodb的行锁效率很高,内存使用也很少,但是锁定行的时候仍然会带来额外的开销,其次,锁定超过需要的行会增加锁竞争,并减少并发性. innodb只有在访问行的时候才会对其加锁,而索引能够减少innodb访问的行数,从而减少锁的数量.但只有当innodb在存储引擎能够过滤掉不需要的行时才有效.如果索引无法过滤掉无效的行,那么在innodb检索到数据并返回给服务器…