立即注册 登录
关注IT社区 返回首页

o0JSP的个人空间 http://u.gzit.org/?27 [收藏] [复制] [分享] [RSS]

日志

【Five-Minute Share】“避免让数据库做无用功”

已有 195 次阅读2018-2-27 00:40 |个人分类:数据库

在日常工作中,难免会遇到这样的情况:在写代码的时候,边写边想,想到哪里写到哪里,最后写完,验证功能OK,完事收工。这种流水账式的代码最终导致的结果就是可维护性差,而且性能低下。举个栗子:
需要写一段代码,发短信通知所有非管理人员到会议室集合,会不会有人这样写:
(获取员工列表清单)
循环开始
(根据员工的部门ID去部门表查询该员工的部门名称)
(如果部门名称不是“公司领导”)
发送通知
循环结束
乍一看,好像没有什么问题,但是细细一看,“(根据员工的部门ID去部门表查询该员工的部门名称)”这个步骤被执行了N次,取决于公司多大规模了。如果是调查中国十几亿人口组成的,估计得要等蛮久了。哈哈。
其实,我们完全可以换一个方式:
(在部门表查询“公司领导”的部门ID)
(获取员工列表清单)
循环开始
(如果员工所在部门ID不是“公司领导”的部门ID)
发送通知
循环结束
这样查询部门信息表就只需要查询一次即可,数据库也就不需要做那么多无用功了,不会瞎忙乎!
PS:忽然想多提一句,其实数据模型设计也是一样,逻辑模型设计只需要思考正确、完整地存放哪些东西,而物理模型设计则是要思考怎么样去存放才能让你的应用更快、更高效地处理数据。所以,还是尽量不要在设计好逻辑模型后,立马就直接“一键生成物理模型吧。
思维跳跃性有点大,但是个人认为确实是个需要强调的地方,所以就提出来了。晚安,南宁!


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

Archiver|关注IT ( 粤ICP备06100905号 )

GMT+8, 2018-12-13 03:25 , Processed in 0.123906 second(s), 13 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部