innodb引擎在统计方面和myisam是不同的,Myisam内置了一个计数器,所以在使用 select count(*) from table 的时候,直接可以从计数器中取出数据。而innodb必须全表扫描一次方能得到总的数量。所以在大表统计总行数的时候非常慢,600万行的数据用了0.937s。
如果只需要获取大约值那么可以:
show status from product; 来得到大约值
这种方法可在数据分页中使用!
具体的使用方式为:
SELECT table_rows FROM information_schema.tables WHERE table_name=‘library_books’
这种方式获取600万行的数据表值用时0.045s