Mysql数据库开发常见问题及优化

发表于:2016-6-28 10:20

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:cyfonly    来源:51Testing软件测试网采编

  除了上述索引使用规则外,SQL 编写时还需要特别注意一下几点:
  1、尽量规避大事务的 SQL,大事务的 SQL 会影响数据库的并发性能及主从同步;
  2、分页语句 limit 的问题;
  3、删除表所有记录请用 truncate,不要用 delete;
  4、不让 mysql 干多余的事情,如计算;
  5、输写 SQL 带字段,以防止后面表变更带来的问题,性能也是比较优的 ( 涉及到数据字典解析,请自行查询资料);
  6、在 Innodb上用 select count(*),因为 Innodb 会存储统计信息;
  7、慎用 Oder by rand()。
  分析诊断工具
  在日常开发工作中,我们可以做一些工作达到预防慢 SQL 问题,比如在上线前预先用诊断工具对 SQL 进行分析。常用的工具有:
  1、mysqldumpslow
  2、mysql profile
  3、mysql explain
  具体使用及分析方法在此就不赘述,网上有丰富的资源可以参考。
  误操作、程序 bug 时怎么办
  提出这个问题显然主要是针对刚开始工作的年轻同行们……实际上误操作和程序 bug 导致数据误删或者混乱的问题并非少见,但是刚入行的开发工作者会比较紧张。一个成熟的企业往往会有完善的数据管理规范和较丰富的数据恢复方案(初创公司除外),会进行数据备份和数据容灾。当你发现误操作或程序 bug 导致线上数据被误删或误改动时,一定不能慌乱,应及时与 DBA 联系,第一时间进行数据恢复(严重时直接停止服务),尽可能减少影响和损失。对于重要数据(如资金)的操作,在开发时一定要反复进行测试,确保没有问题后再上线。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号