1.一次从数据库读取到内存中,然后断开连接。每次读取都从内存中读取。如果我是驱动设计者肯定不会这么设计,很显然这样的读取不能够支持大数据量,如果数据有几百万条,一次性读取到内存中,不要说每次读取的数度会很慢,而且内存也放不下。当然这种做法在取数据的时候会比较快,但是太不实用了。显然不能这么设计。
2.每次next的时候都去数据库取数据,去玩后断开连接,等到下一次next再打开链接取。这种做法明显也不行,每次next操作都要打开关闭数据库,如果有大量的读取数据库操作,那样完了,cpu处理不过来。
3.读取数据时跟数据库建立一个固定链接,每次next读取数据,但是不关闭数据库连接,等到数据全部去玩再关闭连接,这种方式显然比上面两种要好。但是仍然存在瓶颈,每次去数据库读取,就要在数据库中多做操作同样影响速度。
4.大致与上一个一样,只是在第一次next的时候同时向后读取若干数据到内存中,以后每次next到内存中取,不去数据库中去,直到内存中取完再去数据库中取若干数据,这样又更好了,提高了操作速度也节约内存资源。
5.在next的时候并不读取任何数据,只是做一个标记,然后等next完成,一次性把标记项传给数据库操作对象,一次性读取出来然后关闭。
对于数据库取数据的几种方式对比
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。