# db_sync **Repository Path**: sunhuahaha/db_sync ## Basic Information - **Project Name**: db_sync - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-16 - **Last Updated**: 2025-08-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README create user root@'%' IDENTIFIED by '123123'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' with GRANT option; FLUSH PRIVILEGES; SHOW FULL PROCESSLIST KILL 567 select @@global.sql_mode set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' 升级硬件:使用SSD替代HDD,提升I/O性能。 调整参数:增大innodb_buffer_pool_size(推荐为内存的70%~80%),缓存更多索引。 1. 使用近似值(适用实时性要求低的场景) -- 或从EXPLAIN中获取近似值 EXPLAIN SELECT COUNT(id) FROM table_name; 优点:毫秒级返回。 缺点:结果不精确。 由于2000万行的表在InnoDB上执行COUNT(*)需要20秒,这个时间在常规机械硬盘上可能是正常的,但在SSD上可能偏慢。所以也可以检查服务器配置和硬件性能。 另外,确保InnoDB缓冲池(innodb_buffer_pool_size)足够大,这样索引可以尽量被缓存,减少磁盘IO。 SHOW VARIABLES LIKE 'innodb_buffer_pool_size'; SELECT @@GLOBAL.innodb_buffer_pool_size; SELECT @@GLOBAL.innodb_buffer_pool_size AS bytes, CONCAT(ROUND(@@GLOBAL.innodb_buffer_pool_size / (1024 * 1024), 2), ' MB') AS mb, CONCAT(ROUND(@@GLOBAL.innodb_buffer_pool_size / (1024 * 1024 * 1024), 2), ' GB') AS gb; SET GLOBAL innodb_buffer_pool_size = 12*1024*1024*1024; -- 12GB SET GLOBAL innodb_buffer_pool_size = 2147483648; -- 2GB SHOW STATUS LIKE 'Threads_connected'; SHOW VARIABLES LIKE 'max_connections'; SET GLOBAL max_connections = 2000;