2008-02-22

经典书籍回顾

关键字: 学习、读书
回顾一下看过的比较经典的计算机方面书籍: 《现代操作系统概论》《数据库系统概念》《算法与数据结构》《计算机编程艺术》《算法导论》《离散数学》(北大版)《软件工程》《计算机网络》《《Java编程思想》,《Effective java》,《Java puzzler》 《java网络编程》《Java 多线程设计模式》, 《Pragmatic Junit Testing》,, 《J2EE application and BEA Weblogic server》,《J2EE design and development》, 《J2EE development without EJB》,《Java Con ...
同样一个表的数据进行操作,update要明显慢于insert语句,估计会有量级的差距,这种差距主要是什么原因产生的呢? 日志、索引、锁对两者的影响有多大?
  • 02:13
  • 浏览 (1649)
  • 评论 (2)
2008-02-22

数据库 数据集合更新操作

关键字: db update
对数据库单条数据更新,更新1000,000万条速度是很慢的,大约是几十分钟。 相比较来讲,将更新信息插入数据库临时表,在通过表关联更新,整体时间在两分钟以内。 一些批量数据处理需要考虑数据的集合操作来提高性能。
  • 02:03
  • 浏览 (1412)
  • 评论 (0)
一个很诡异的问题,还没有研究透。 HashMap的Keyset迭代器的效率要相对ArrayList效率低一些。 在P4 1.5上测试,大约1000,000记录迭代一遍 HashMap 420ms,ArrayList 80ms的样子。 从数字上看,两边的差异并不大,但在迭代中包括同样数据库操作的情况下,整体时间分别为10分钟对2分钟,原因待查。
如果使用Hibernate,对于业务逻辑中的异常处理,往往忽视Hibernate Session中业务对象状态变化的处理,可能导致虽然异常捕获了,但没有对相应操作的业务对象状态做处理,业务对象状态处于非正常状态,并且可能遗留问题到后续业务逻辑中暴露出来,可能导致后续业务处理失效。 此类问题特别在一些缺乏细粒度事务控制的处理逻辑中更加明显。在一些类似spring对hibernate封装后屏蔽其技术细节的开发框架下此类问题也比较普遍。
做行业的软件公司相比较技术,更注重业务。 业务需求是根本,是软件价值体现,重视是必然。相信绝大多数公司是这样。 技术不是不重要,只能说相对次要,真正的强人是两条腿走路的。 一个公司不需要太多的技术专家,养活不起,差不多够用就行。 业务的东西比较具有核心价值,知识相对稳定,适合长期积累,越积累越值钱;而技术的可积累性相对较差,积累更多的是经验性的东西,具体干活的技术常换常新。 这也是为什么这样的公司更多的人成为技术顾问,业务顾问,产品专家的原因,他们对业务熟悉,对产品熟悉,而产品的核心价值也是在于业务支撑作用。 即使在产品中心也只有那么几个对具体技术研究很深的人。
Godlikeme
搜索本博客
其他分类
存档
最新评论