2016 - 2024

感恩一路有你

sql中拼接字段的函数 SQL数据库,用forxmlpath字符串拼接,拼接内容如何排序?

浏览量:1245 时间:2021-03-12 09:22:47 作者:admin

SQL数据库,用forxmlpath字符串拼接,拼接内容如何排序?

SELECT b.列1,LEFT(List,LEN(List)-1) as Num FROM (SELECT 列1,(SELECT 列2 "," FROM 表 WHERE 列1=a.列1 FOR XML PATH("")) AS ListFROM 表 a GROUP BY 列1) b

为什么一些大公司都喜欢用字符串拼接sql?

先表明立场,任何时候都不要在后台代码里拼接sql。(除了中小公司内部报表类需求外)

首先,提主遇到的大公司拼接sql,“都”明显是伪命题。在互联网公司的应用领域内,是严禁嵌套,拼接sql的。一个大流量超高并发的系统,数据库链接池资源,是非常宝贵的。基本决定了系统的性能上限。不然为什么加分布式缓存,数据库分库分表呢?对于高频低熵的系统,明显高频次低耗时的数据库链接是最可靠的方式。

其次,对于各种大型的传统IT服务业和政府,银行类系统,由于系统本身相对于一线互联网公司,并发非常低。所以线程对数据库链接的持有时间可以稍微耗时长一些,以得到比较快的系统响应。其实这么做,也并非是明智之举。明显,互联网类的技术拆分和技术架构,对于大公司的各种场景更为合适。传统的IT那种所有难题扔sql,扔给存储过程的方式已经过时多年。

最后,对于高并发的大型在线系统,有复杂查询类的需求,绝不推荐在后台sql中用复杂的查询去实现。这个对于系统的成本消耗明显太高。对于复杂的查询,自然有其他的技术架构去实现。

可以多多关注一线互联网公司的架构技术,也可以看下我之前的回答。


发现持续还有人关注本问题,看到大家来自各个不同业务领域,再聊一些吧。

本身这个问题是高并发类系统的常识性问题。不管是低频高熵的传统业务,还是高频低熵的互联网业务公司,技术架构往往是业务特性来决定的。

传统IT公司,IT服务类公司确实仍然存在拼接这样粗暴的实现方式。因为并发低,迭代快。当然如果能满足低频低熵的业务需求,也无可厚非。但单单从技术角度看,这么做可能并不是最优。事实上,传统公司的新项目也很少有人会这么玩了。(节省几台服务器,也是钱啊)。

很多同学领域不同,对业务需要的技术理解自然会有区别。技术同学可以适当多看机会,多接触不同业务领域的技术实现方案。多思考技术架构这样设计背后的业务原因。

另外,如果有任何问题或质疑,欢迎去看我之前的回答,或留言与我讨论。不喜勿喷。

sql中拼接字段的函数 sql两个字符串合并 sqlserver字符串拼接函数

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。