It's a known issue that innodb is slow in
SELECT count(*) FROM Table
Hence I avoided that. But I notice that whenever I login to phpmyadmin, it will automatically execute a count(*)
for my innodb table with 19k rows, which can take up to a minute to execute. Yet it doesn't initiate such count(*)
for the other innodb table with 4 million rows.
Another clue, in phpmyadmin, under the Records column, the number of records for the 19k-row table is showing the exact value whereas the 4-million-row table is showing an approx.
I understand innodb table gives an estimation of the row count. But it seems that for smaller table, in this case with 19k rows, phpmyadmin decides to do a count(*)
instead of just giving an estimation.
Question is, is there a way to stop phpmyadmin from doing such count on my innodb table? It's okay to just give an estimation instead of doing an expensive row count whenever I refresh my phpmyadmin screen.
20000
with a smaller number, e.g.300
, save the file, refresh phpmyadmin and you're ready to go.