您的位置:首页 > 其它

浅谈DBA工作

2012-05-18 19:33 141 查看
场景一:

小 叶:熊总,请教个问题,什么是主键和索引?

熊 熊:过来,我告诉你

————————————小叶来到我办公桌前————————————

熊 熊:你认为如何判断一个表的主键?

小 叶:(做摇头状)

熊 熊:举个例子吧,公司员工表,里面有员工姓名,年龄,性别,身份证号等等,这些可以做主键么?

小 叶:(茫然状)不清楚

熊 熊:那么,提示一下,身份证号可以么?

小 叶:应该可以吧。

熊 熊:ok,但是身份证号太长了,作为主键并不推荐,而且身份证号是固定18位长度,对索引存储是一个挑战。

小 叶:那我们还可以用什么来做主键呢?

熊 熊:其实我们可以用员工号来做主键。就像公司的每个员工卡号。一般建议使用数字ID作为一个表的主键,而且,主键具有唯一性,也就是唯一性约束,这就是为什么姓名列不能用来做主键,假设你在一个很大的公司,有着上万名员工,里面有十几个叫小叶的员工,你怎么能用姓名确定查出来的就是你呢,对吧,没有了唯一性约束的列不能作为主键。

小 叶:(点头沉思)嗯,懂了,那什么是索引呢?

熊 熊:索引就更好解释了,比如,前不久北京举办了轰动世界的国际硅胶展,比如熊熊我,就想去硅胶展上看看新版的CC3.0 V6,那么,如果是没有索引,应该是一个什么样的情况呢,因为有很多的展厅,每个展厅又有很多的展台,有些展台虽然是大众的,但是不一定有CC,这时候我要想看CC,就需要一个展厅、一个展厅的去找,同时需要确定有CC的展台。这样一种情况,就是索引全扫描,因为我要逛过所有的展厅才有可能确定到底哪里有CC(不一定所有的,靠运气决定,这也是全表扫描不一定比索引慢的原因),那么全表扫描也就是文件多块读。那么,如果我有展厅位置地形图,我就能马上知道哪个展厅哪个展台有CC,直接就可以避免浪费时间跑到别的展厅(如果为了看透视装不算浪费时间^_^),这种情况下,大众展台假设在很多展厅的话,就是索引范围扫描,如果只有一个展台有CC,那么这时候就是索引唯一扫描。

小 叶:(若有所思)哦,我明白了,多谢熊总!

熊 熊:不客气~

场景二:

熊 熊:(在群里发了一条消息)IT人的成功==30%技术能力 + 30%业务能力 + 40%忽悠能力

小 羽:熊总,什么叫30%的业务能力,做技术的人需要掌握业务么?

熊 熊:这个问题,比如你现在是一个很大的电商网站的高级运维工程师,甚至部门经理,让你来规划公司网站的整体架构,你凭什么说什么时候用集群,什么时候用负载均衡,web层用那种服务,app层用那种服务,DB怎么设计? 如果你只是凭着以前经验,觉得比如F5,比如LVS,比如MySQL集群,主从复制,读写分离等等,这些技术都堆积起来,都用上就是好的,那你就错了,你不了解业务本身,就没有资格设计架构。

小 羽:那我如何才能了解业务呢,而且运维怎么能接触到业务呢?

熊 熊:你现在之所以薪资不高,不是因为你技术能力有多差,而是因为你不会去独立的考虑问题,解决问题,比如,我很佩服强强(我们部门经理),他的技术不一定比我强,但是他考虑问题比我全面周到,处理事情比我稳重,如果你想成功,你就需要把你的思想提高到这个程度,用人家的层次来思考问题,解决问题。

小 羽:(沉思状),多谢熊总,我会仔细想想这段话。

熊 熊:不客气。

/article/4316897.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: