count(*)和found_rows()都可以用来求查询记录的数量
而count(*)往往单独使用,found_rows()却可以跟上前面一个查询,即select * from table limit 10; select found_rows();这样的
总共可分为几个区别:1.count(*)查询的无论是否为空,都会计数,而found_rows()却不是
2.两者实现的原理不同。count(*)是通过查询表中的数目去计算的,而found_rows是根据下标去计算的
我的猜想是,当前面没有查询条件,如上面的select * from table limit 10; 时,可以用count(*)去做,让他去遍历一遍表,比较适合。
假设上面已经遍历了一遍你想要的元素,你想要计算的话,用found_rows()这个函数去做比较适合。