有谁清楚JDBC驱动和数据库之间交互的细节吗比如:当用只读(CONCUR_READ_ONLY)、快进(TYPE_FORWARD_ONLY )的方式从数据库读取记录时,为什么对于较大的结果集,性能不佳?为什么用fetch_size可以调节性能?这儿的性能是指:JDBC驱动的内存消耗、还是数据库服务器的内存消耗、还是读取时间、还是对其他的Statement的操作有影响?也就是,JDBC驱动和数据库之间的后台的数据交互格式、交互过程是怎样的?
调试欢乐多
lz同意我这样的看法吗?我现在在研究java同数据库的通信,自己认为是这样。其他朋友还有什么看法呢?
我觉得它肯定是有优化算法的,jdbc不会为了一次next进行一次数据获取。
一定是按照一定大小批量获取数据的。当然这个数据实现已经由query语句在server端准备好。
你到肯德基去买东西,她看到你的单,顺手从后面的池子<去过的应该知道>里面给你拿一个,她也不管你要多大的,你什么时候来,提前给你在池子里面放了很多的连接等你来拿,是不是速度快了?
以往的方式是打开连接,执行sql,然后关闭连接。
再次访问数据库的时候需要再次打开连接,执行sql,然后关闭连接。连接池所打开的连接其实是不关闭的。
当程序调用数据库访问的时候,他会找一个空闲的连接给程序使用。
这样就省去频繁打开连接,关闭链接的操作,这个操作是很费效率和资源的。
对于搂主的问题,我觉得有实际意义吗?要考虑性能的话,也不应该是这种问题。
我很难明白搂主搞懂这个要做什么?