欢迎进入linux社区论坛,与200万技术人员互动交流 >>进入 查询优化: 63. 使用慢查询日志去发现慢查询。 64. 使用执行计划去判断查询是否正常运行。 65. 总是去测试你的查询看看是否他们运行在最佳状态下 ?久而久之性能总会变化。 66. 避免在整个表上使用cou
欢迎进入linux社区论坛,与200万技术人员互动交流 >>进入
查询优化:
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.
[1] [2]
