频繁访问数据库,该如何释放内存?
各位老师,小弟学习编程过程中有几个疑问,求教老师们:
我在编写一个系统,因为基本上都是对数据库操作,因此里面基本上都是SQL语句,并有datagridview和listview,绑定数据源的combobox等针对数据库的控件,伴随有很多增删查改之语句(貌似我现在每一步都会对数据库进行访问,这样正确吗?)[
问题来了:我每次对数据库操作完后,除了关闭数据库连接外,还需要设置disposed,释放各种命令中的内存吗?譬如dataset,datatable,ExecuteNonQuery,ExecuteReader等,他们会在关闭连接后还占用内存吗?如果不释放,是不是时间长了就会耗尽内存,让运行速度变得很慢?
查了一些资料,众多纷纭,有说不需要,现在C#已经设置成系统会自动回收。有说需要,但dispose还不行,要设置null。也有的说某些代码需要释放,譬如dataset,datatable和DataAdapter,有些不需要,close即可。
我有点晕了,不知道哪个是正确。我的电脑内存16G的,不过是当成公共电脑给单位使用,数据库大概不会超过1G,同时访问人数约几十人。这内存够吗?
另外,假设有20个数据:1~20,如何才能每次点击,从中生成一个随机,但不重复的数据呢?例如5,9,12,6,8,19.。。。。。点击10次,就会有10个不同的数据。
这代码该如何写吗?尝试良久,效果不理想,道行太浅,请老师们帮忙哈。
我在编写一个系统,因为基本上都是对数据库操作,因此里面基本上都是SQL语句,并有datagridview和listview,绑定数据源的combobox等针对数据库的控件,伴随有很多增删查改之语句(貌似我现在每一步都会对数据库进行访问,这样正确吗?)[
问题来了:我每次对数据库操作完后,除了关闭数据库连接外,还需要设置disposed,释放各种命令中的内存吗?譬如dataset,datatable,ExecuteNonQuery,ExecuteReader等,他们会在关闭连接后还占用内存吗?如果不释放,是不是时间长了就会耗尽内存,让运行速度变得很慢?
查了一些资料,众多纷纭,有说不需要,现在C#已经设置成系统会自动回收。有说需要,但dispose还不行,要设置null。也有的说某些代码需要释放,譬如dataset,datatable和DataAdapter,有些不需要,close即可。
我有点晕了,不知道哪个是正确。我的电脑内存16G的,不过是当成公共电脑给单位使用,数据库大概不会超过1G,同时访问人数约几十人。这内存够吗?
另外,假设有20个数据:1~20,如何才能每次点击,从中生成一个随机,但不重复的数据呢?例如5,9,12,6,8,19.。。。。。点击10次,就会有10个不同的数据。
这代码该如何写吗?尝试良久,效果不理想,道行太浅,请老师们帮忙哈。
...全文
相关推荐
Java jdbc数据库连接池总结
在Java语言中,JDBC(Java DataBase Connection)是应用程序与数据库沟通的桥梁
使用JAVA内存数据库h2database性能优化
我们在开发应用都知道IO是系统性能的瓶颈,在应用开发中,我们会经常碰到以下问题: 1.系统在不断实时地访问数据库时,一秒钟对同一个表操作几千,几万次以上,导致数据表死锁或则处理太慢; 2.对数据实时计算,而且数据量很大时,比如电信系统的电信的二次批价和实时累账 3. 需实时统计数据,监控海量数据问题,比如ATM监控系统的可疑交易监控(广东中行)
Tomcat的内存释放
Tomcat 的内存释放 操作说明 大V从吧别到时份范德萨的范德萨发
linux下释放cache内存
当你在linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题
谈谈如何手动释放Python的内存
Python不会自动清理这些内存,这篇文章主要介绍了谈谈如何手动释放Python的内存,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。


