小小的感叹下,基础知识真的太重要了

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

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

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

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

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

联想到前些日子,袁老大对金老师的棒喝,我深以为然。没有基础知识,固然凭借勤奋可以有不错的收入。但是注定了只能跟随别人的指挥棒起舞。只有拥有了足够多的基础知识,才能够真正让自己的思想,自由的起舞。
...全文
262 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingcairousi 2006-12-08
  • 打赏
  • 举报
回复
事实如此.我们老大的经验在15年以上,但是数据结构还是只会用单链表,查找也只会用顺序查找,所以才有此感叹.
vcPlayer 2006-12-08
  • 打赏
  • 举报
回复
不会吧?做数据库的难道对笛卡尔积的规律还不清楚?
raygts 2006-12-07
  • 打赏
  • 举报
回复
嗯..这种事我也遇见过....在农信大厦工作的时候操作农信的数据库就是因为有一个据说是北大出来的牛人..此北大不是北京那个北大..全名叫什么北大青鸟出来的...竟然说自己精通ORACLE数据库...后来不知道他跟人事的有什么关系就录用了..那家伙竟然在一台IBM P6 的数据库服务器里面写了一条查询语句执行后..过了半个钟头后没反应..后来逼迫重启服务器了~~之后我就没见过这家伙在我们的项目组出现过了

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧