
1、explain+索引。
在你要查询的语句前加explain,看下有没有用到索引,如果出现type为all的,则说明有必要添加下索引。(附多表查询速度比较:表关联>exists>in)慢查询优化是一大块。
2、预统计。
很经常需要对历史的数据进行过滤统计。比如移动需要统计上个月电话小时数超过N小时的人,那么如果直接取原始数据,那将很慢,此时如果每天晚上凌晨都对数据进行预统计,统计每个人每天电话时数,那再来过滤就很快。
3、分表分区。
分表分区也是为了提高搜索速度。例如,公交车的gps行驶记录,gps每隔15s报一次,一辆车一天运行12小时,一天就要插入4*60*12条记录,N辆车就要再乘,其数量极大,所以经常按月分表,分表里再按上报时间做日分区,这样就达到很大的优化,想查询某段时间,mysql很快就可以定位到。
4、表结构。
表结构很重要,经常需要多表关联查询一些字段,有时可以冗余下放到同一张表。
mysql优化很有意思,多去查阅些资料,多去尝试,对你有好处的。
1、数据库管理员规定用户访问权限和为不同用户组分配资源。
2、监视监控数据库的警告日志,定期做备份删除。
3、对数据库的备份策略要根据实际要求进行更改,数据的日常备份情况进行监控。
4、规范数据库用户的管理定期对管理员等重要用户密码进行修改。
5、对SQL语句的书写规范的要求一个SQL语句,如果写得不理想,对数据库的影响是很大的。
扩展资料技术分工
产品的整个生命周期里数据库管理员的职责重要而广泛,这催生了各个纵向的运维技术方向,凡是关系到数据库质量、效率、成本、安全等方面的工作,及涉及到的技术、组件,主要包括:
1、数据库监控技术:包括监控平台的研发、应用,服务监控准确性、实时性、全面性的保障。
2、数据库故障管理:包括服务的故障预案设计,预案的自动化执行,故障的总结并反馈到产品/系统的设计层面进行优化以提高产品的稳定性。
3、数据库容量管理:测量服务的容量,规划服务的机房建设,扩容、迁移等工作。
4、数据库性能优化:从各个方向,包括SQL优化、参数优化、应用优化、客户端优化等,提高数据库的性能和响应速度,改善用户体验。
参考资料:百度百科-数据库管理员
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)