博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库慢了怎么办
阅读量:2240 次
发布时间:2019-05-09

本文共 822 字,大约阅读时间需要 2 分钟。

        面试的时候,经常问一个问题:数据库慢了怎么办?

        请问,是怎么慢?

        突然慢还是一直慢?整个数据库慢还是某个功能慢?是时快时慢?具体有多慢?

        如果是突然慢,那么,问下开发/DBA/应用管理员/业务人员,刚做了什么?如果安装了OMS,看下当前的顶级活动,或是生成最近的一次AWR,查明数据库在执行什么sql。有必要看下服务器的负载,IO、CPU、内存的使用率都要查一下。友情提示:如果光纤链路使用了HA,假如坏了一条,而恰好当前使用了它,那么慢是肯定的。良好的习惯是查看下alert日志,确定是否有报错。总而言之,要快速定位到问题sql,对症下药,方见疗效。

        如果是一直慢,这属于慢性病,需要仔细收集各个时间段服务器、数据库的负载信息,OSWatcher或许有帮助,找出top sql,依据二八原则,分清主次,迭代调优。

        如果整个数据库都慢,做什么都慢,登录也慢,select * from emp也慢,那么,先看下CPU是不是到了100%吧。

        如果是某个功能慢,找出慢的sql,然后,确认,应该多快?努力优化之。

        如果是有时快有时慢,或是生产慢测试快,还是要先定位到sql,然后,检查表、索引是否结构相同大小相当,对比执行计划,找出具体的慢的步骤。检查下同一个sql是不是有多个执行计划,或许,固定下执行计划就OK了。偶尔,表数据量一样,执行计划相同,但是测试的执行效率是生产的数倍,肿么破?再友情提示:rows processed一样吗?奇葩的问题总是不能尽述,具体问题仍需具体分析。

        总之,慢有不同,处理自然有不同。

        秋天收获了果实,肯定是有人在春天种下了希望,万物都是有因果的,慢也一样。请问天下的数据库有生来就慢的吗?

        找出问题SQL和性能瓶颈,解决它,即可!

        那么问题又来了,怎么找出?如何解决?按下葫芦浮起瓢又该怎么办?

        ......

        如果,如果,没有如果。(应该,此处有梁静茹的歌声^_^)

        如果什么都要别人回答,我想,您还是回家吧。

  

转载地址:http://bglbb.baihongyu.com/

你可能感兴趣的文章
【LEETCODE】36-Valid Sudoku
查看>>
【LEETCODE】205-Isomorphic Strings
查看>>
【LEETCODE】204-Count Primes
查看>>
【LEETCODE】228-Summary Ranges
查看>>
【LEETCODE】27-Remove Element
查看>>
【LEETCODE】66-Plus One
查看>>
【LEETCODE】26-Remove Duplicates from Sorted Array
查看>>
【LEETCODE】118-Pascal's Triangle
查看>>
【LEETCODE】119-Pascal's Triangle II
查看>>
word2vec 模型思想和代码实现
查看>>
怎样做情感分析
查看>>
用深度神经网络处理NER命名实体识别问题
查看>>
用 RNN 训练语言模型生成文本
查看>>
RNN与机器翻译
查看>>
用 Recursive Neural Networks 得到分析树
查看>>
RNN的高级应用
查看>>
TensorFlow-7-TensorBoard Embedding可视化
查看>>
轻松看懂机器学习十大常用算法
查看>>
一个框架解决几乎所有机器学习问题
查看>>
特征工程怎么做
查看>>