101 个 MySQL 的调节和优化的提示
查询优化: 63. 使用慢查询日志去发现慢查询。 64. 使用执行计划去判断查询是否正常运行。 65. 总是去测试你的查询看看是否他们运行在最佳状态下 –久而久之性能总会变化。 66. 避免在整个表上使用count(*),它可能锁住整张表。 67. 使查询保持一致以便后续相似的查询可以使用查询缓存。 68. 在适当的情形下使用GROUP BY而不是DISTINCT。 69. 在WHERE, GROUP BY和ORDER BY子句中使用有索引的列。 70. 保持索引简单,不在多个索引中包含同一个列。 71. 有时候MySQL会使用错误的索引,对于这种情况使用USE INDEX。 72. 检查使用SQL_MODE=STRICT的问题。 73. 对于记录数小于5的索引字段,在UNION的时候使用LIMIT不是是用OR. 74. 为了 避免在更新前SELECT,使用INSERT ON DUPLICATE KEY或者INSERT IGNORE ,不要用UPDATE去实现。 75. 不要使用 MAX,使用索引字段和ORDER BY子句。 76. 避免使用ORDER BY RAND(). 77。LIMIT M,N实际上可以减缓查询在某些情况下,有节制地使用。 78。在WHERE子句中使用UNION代替子查询。 79。对于UPDATES(更新),使用 SHARE MODE(共享模式),以防止独占锁。 80。在重新启动的MySQL,记得来温暖你的数据库,以确保您的数据在内存和查询速度快。 81。使用DROP TABLE,CREATE TABLE DELETE FROM从表中删除所有数据。 82。最小化的数据在查询你需要的数据,使用*消耗大量的时间。 83。考虑持久连接,而不是多个连接,以减少开销。 84。基准查询,包括使用服务器上的负载,有时一个简单的查询可以影响其他查询。 85。当负载增加您的服务器上,使用SHOW PROCESSLIST查看慢的和有问题的查询。 86。在开发环境中产生的镜像数据中 测试的所有可疑的查询。 MySQL 备份过程: 87. 从二级复制服务器上进行备份。 88. 在进行备份期间停止复制,以避免在数据依赖和外键约束上出现不一致。 89. 彻底停止MySQL,从数据库文件进行备份。 90. 如果使用 MySQL dump进行备份,请同时备份二进制日志文件 – 确保复制没有中断。 91. 不要信任LVM 快照 – 这很可能产生数据不一致,将来会给你带来麻烦。 92. 为了更容易进行单表恢复,以表为单位导出数据 – 如果数据是与其他表隔离的。 93. 当使用mysqldump时请使用 –opt。 94. 在备份之前检查和优化表。 95. 为了更快的进行导入,在导入时临时禁用外键约束。 96. 为了更快的进行导入,在导入时临时禁用唯一性检测。 97. 在每一次备份后计算数据库,表以及索引的尺寸,以便更够监控数据尺寸的增长。 98. 通过自动调度脚本监控复制实例的错误和延迟。 99. 定期执行备份。 100. 定期测试你的备份。 最后 101: 执行MySQL 监控: Monitis Unveils The World’s First Free On-demand MySQL Monitoring. (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |