小小的感慨,基础知识的重要性

今天帮同事调程序,优化了一个SQL语句。
直接执行这个SQL语句,12个小时出不来结果。
分析了一下子,这个sql语句是三个表自然连接。然而最大的一张表,有32万条记录,第二张表有三千条,第三张有32条。于是自然连接的结果的数量级,至少在10^9以上,难怪12个小时没有结果。经过优化以后,不到1秒就有结果了。

其实这个问题,只要对关系代数有最基本的了解,就可以避免了。可是写这个语句的同事,显然没有了解过关系代数。

而最让我郁闷的,是这个语句是经过我们老大审核的。我们老大很喜欢用SQL语句,我曾经见过他在SQL语句里面写if...else...结构。就是这样一个人,这样的语句能通过他的审核实在让我有点惊讶。

我觉得不少人,包括我们老大都有这样的误区:写程序只要对编程语言有足够的了解,有清晰的逻辑思维就差不多了。

可是,语言之所以存在,是因为背后的思想,而学习基础知识,就是为了了解这些思想。只有了解了语言背后的思想,才能够从本质上了解语言所代表的那种计算机的运作机制,进而才能够找到最优解。

联想到前些日子,袁老大对金老师的棒喝,我深以为然。不了解基础知识,固然凭借勤奋可以有不错的收入。但是基础知识的匮乏,注定了只能跟随别人的指挥棒起舞。只有拥有了足够多的基础知识,才能够真正让自己的思想,自由的起舞。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值