分享技巧,解决大字符串的处理效率问题
字符串的运算,基本上是每一门开发语言必须的功能,也是大家常用的编程语句,很多朋友是熟悉的。
然而,有一个场景,不知道大家是不是有经历,就是将数据库里的若干行数据导出成TXT,CSV等文本文件。
这样的程序,实在是没有什么难度的,网上面的例程,也是一把一把的。
但是,有意思的是,如果行数多到一定程度,比如1000,或者,2000,这个样子,你会发现:你的程序变慢了。
经过,友人的提醒:字符串大了,运算就是变慢,ASP, JAVA, C#都有这样的问题,你得要去找***类,即对象集才行,或者,换一个开发平台。EH~~
无疑,换平台,或者,引入新的类等等,学习成本,时间成本都是非常高的。我不禁倒吸一口冷气。
我顺着友人的提醒,想下去:字符串大了,大了,OK ,不让你大,行吗?
于是一个,稍搞笑的想法,产生了,先建一个字符串数组,然后,从数据库读数据,这个数组的每个变量只拼接固定大小的字符串,比如1000个字符,超过了,就下一个变量,这个样子。等所有的数据,都拼到这个数组当中去了,拼完了,再将这个数据所有的变量都拼一次,就得到一个大的字符串变量了。
这个想法可行吗?约在9年前的一个尝试,至今,记忆犹新,在没有更换开发平台的情况下,某数据表导出的时间,从30分钟,缩短到14秒,我自已都吓了一跳。客户更是乐开怀:书生,问题解决了!
后来,这个办法,在一个JSP开发上又试了一次,效果仍然好。
希望以上的战例对于您有所帮助,感谢阅读!