IT学习者 | 站长学院 | 技术文档 | 成语 | 歇后语 | 桌面壁纸 | 天气预报 | 帝国时代 | 生日密码 | 代码收藏 | 厦门天气 | IP地址查询 | 生活百科

mysql连接与关闭问题

【 来源:论坛 作者:佚名 更新时间:2008-06-09 | 字体:
请高手指点,数据库连接打开以后,连续执行几个操作以后再关闭,和执行一次操作就关闭,然后执行第下一次操作有什么区别,哪一个性能更好呢?
例如:
方案一:
mysql.open();
mysql.insert('sql1');
mysql.insert('sql2');

mysql.insert('sqln');
mysql.close();
方案二:
mysql.open();
mysql.insert('sql1');
mysql.close();
mysql.open();
mysql.insert('sql2');
mysql.close();

mysql.open();
mysql.insert('sqln');
mysql.close();
方案一和方案二到底哪一个效率更高,性能更好呢? 请各位高手指教,并给出理由,谢谢。
网友回复:mark帮顶,我自己感觉是第一种效率高一点,呵呵,没有理论基础,等待高手
网友回复:呵呵,其实经常碰到这样的情况,循环操作数据库,但是一直没有找到相关资料,介绍怎样使用更好,只好上来找找高手。


网友回复:肯定是第一个效率高的。
从最简单的来说,连接数据库是要有时间的,多次的连接效率肯定慢。
而且要是是远程数据库的话,你这种不停的要求连接的语句会带宽占用时间也大。


第二种方法应该是防止有的线程占线的,就是连接后有大段不需要连数据库的逻辑执行的程序,但像楼主这样写的连续执行sql的都不用多说了,肯定是第一个好。
第二种是用时间作代价来防止占线的。
网友回复:假如执行时间比较长的话,第一种会不会占用连接时间过长而导致超时呢?还有许多框架的设计不用手动打开连接和关闭连接,那是怎么设计的呢,感觉应该是第二种方案呢
网友回复:正在使用中的mysql连接是不会超时的,我不知道你的“许多框架的设计不用手动打开连接和关闭连接”什么意思我用java,.net,delphi连数据库都是要连接的,所谓的不用手动连接只是某些控件已经帮你连了。

mysql的连接超时是可以自己设置的,我记得是设置timeout的属性,你可以设成不超时。但是在一般情况下不会超时的。那些设计不关闭连接的程序应该是会长时间占用mysql的线程的,对于很多用户访问数据库的程序不适用。
网友回复:第一个高。

第一个相当于一个长连接。
就像憋了好久的尿,一下子全解决了
第二个连接太频繁。
就像一分钟去一趟厕所。
^_^
  • 转载请注明来源:IT学习者 网址:http://www.itlearner.com/ 向您的朋友推荐此文章
  • 文章关键词:  mysql 
  • 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系我们,我们会尽快予以更正。
RSS订阅
  • 抓虾
  • google reader
  • 鲜果
  • QQ邮箱

音乐
犯贱 月光 包容 想你了 甩葱歌 黄梅戏 爱情错觉 星月神话 这就是爱 最幸福的人 爱笑的眼睛 321对不起 你不知道的事 看透爱情看透你 你还欠我一个拥抱
忐忑 爱过 浮夸 猜不透 洛丽塔 错的人 爱情买卖 和平分手 等你爱我 没那么简单 我的心好冷 姑娘我爱你 在回忆中死去 我的爱情不见了 你在我心中是最美
她说 偏爱 素颜 错错错 走天涯 套马杆 断桥残雪 爱是你我 郎的诱惑 客官不可以 我要去西藏 我的好兄弟 哥只是个传说 情歌没有告诉你 我和草原有个约定
天真 王妃 小三 爱琴海 要抱抱 单身歌 埋葬冬天 给力青春 荷塘月色 最好不相见 最炫民族风 新贵妃醉酒 贝多芬的悲伤 大笑江湖主题曲 给我一个理由忘记
加入收藏留言建议ASP探针PHP探针站长Enjoy的BlogAboutDomain
© 2010 IT学习者 - itlearner.com
RunTime:28.46ms