今天介绍一下从业数据库dba这么多年,前段时间碰到的奇葩事情,说之前,提2个问题:
1,见到单个数据库最多有多少张业务表
2,一个表有30多个字段,表里就有一条数据,写一个查询就这一个表的sql,不关联其他表,不要用WAITFOR DELAY 等关键字,写一个执行查询要20秒以上的sql
以前我也从未关心过数据库表有多少张, 写SQL,一般也是尽量去怎么优化sql,怎么把sql写得约好约好,突然就写一个表的查询,执行要20秒以上的sql,第一次碰到
现在流行一句话: 贫穷限制了你的想象
现在就和大家介绍一下,我碰到的这2个情况;
1, 某知名财务系统
一次财务系统出现异常,财务人员搞不定,以前的技术支持因为没续费没人管了,就找到我们来处理,可能太机密,我们都不知道有这个系统,检查的过程发现,这个数据库表里有100万多张表。看了一下每个表的数据,业务表就像是一张凭证,可能每天财务
要导大量的业务凭证(几千张左右),一个凭证就是一个表,几年累计下来,100多万张表,一点不奇怪。
2,某知名OA系统
前段时间,业务人员一直反应系统慢,运行卡,监控了sql,发现一个查询很耗时。SQL如下:
这个表hrmschedule表就一条数据,没关联其他表,从2016年1月1号至今,每天做一次UNION ALL查询,导致SQL语句本身很大,执行起来,解析运行都很慢。
部分语句截图: