101个MySQL调试和优化技巧(二)

2015-02-02 20:42:08 · 作者: · 浏览: 19
用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.?在开发环境中产生的镜像数据中?测试的所有可疑的查询。


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.


--------------------------------------分割线 --------------------------------------


--------------------------------------分割线 --------------------------------------