TABLE T 中字段 A ="CHINA".
我现在要得到"CH",
可以再sql中 用 select substr(A,0,2) from T.
还可以直接取出来。在java中
String a="China"
a=substring(0,2)
哪个效率更高一些阿
我想应该是用sql
但是说不出来原因。。
请大家指教阿。
谢谢。
Thomas Kyte的Oracle编程艺术(图灵编译)有这么一句,能够在数据库中实现的功能一定要在数据库实现,在说数据库用C写的,肯定快点,用java的话还要遍历一遍查询结果,数据可想而知。
想知道那个效率高,还是需要自己跑跑代码吧,如果是我写这样逻辑的代码话,我就会放在Java处理,个人的理解如下:
1. substr跟数据库绑定在一起了,万一老板喊移植,就有点郁闷了;
2. 后期维护Java代码比维护SQL代码轻松;
3. 数据库资源比应用服务器资源更可贵;
4. ……大家补充吧,一时就像到这些。
select substr(A,0,2) from T
这样是取一个数组出来,自然是在sql里效率高多了,不然搞到java里,还得遍历一个个再去进行字符串的操作,浪费时间和空间
如果只是取一个值,那就无所谓效率问题了,
在程序中都灵活一些.
DB是存储的地方,不是业务处理的地方.