CREATE PROCEDURE populate_t1() BEGIN DECLARE i int DEFAULT 1; START TRANSACTION; WHILE (i <= 1000000) DO INSERT INTO t1 VALUES (i, i, CONCAT('a', i)); SET i = i + 1; END WHILE; COMMIT; END| CREATE TABLE t1( class INT, id INT, title VARCHAR(100) ) ENGINE=InnoDB; SELECT COUNT(*) FROM t1; COUNT(*) 1000000 SET GLOBAL innodb_stats_persistent_sample_pages=2000; ANALYZE TABLE t1; Table Op Msg_type Msg_text test.t1 analyze status OK DROP TABLE t1; DROP PROCEDURE populate_t1; SET GLOBAL innodb_stats_persistent_sample_pages=default;