Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server ColdFusion 8+;结果集上的MSSQL 2005和CLOB数据类型_Sql Server_Xml_Performance_Coldfusion_Clob - Fatal编程技术网

Sql server ColdFusion 8+;结果集上的MSSQL 2005和CLOB数据类型

Sql server ColdFusion 8+;结果集上的MSSQL 2005和CLOB数据类型,sql-server,xml,performance,coldfusion,clob,Sql Server,Xml,Performance,Coldfusion,Clob,我使用的环境是CF8和SQL 2005,数据类型CLOB在CF管理员上被禁用。我关心的是,在CF管理员中启用CLOB数据类型是否会影响性能 我想要/需要启用它的原因是,SQL正在构建AJAX XML响应。当响应较大时,结果要么被截断,要么返回多行(取决于SQL开发人员创建存储过程的方式)。启用CLOB允许返回整个结果。我拥有的另一个选项是让SQL始终在多行中返回XML结果,并让CF连接每个结果行的字符串 有没有人有过这种想法或想法? 谢谢 我只需要让StoredProc返回数据集或多个数据集,然

我使用的环境是CF8和SQL 2005,数据类型CLOB在CF管理员上被禁用。我关心的是,在CF管理员中启用CLOB数据类型是否会影响性能

我想要/需要启用它的原因是,SQL正在构建AJAX XML响应。当响应较大时,结果要么被截断,要么返回多行(取决于SQL开发人员创建存储过程的方式)。启用CLOB允许返回整个结果。我拥有的另一个选项是让SQL始终在多行中返回XML结果,并让CF连接每个结果行的字符串

有没有人有过这种想法或想法?
谢谢

我只需要让StoredProc返回数据集或多个数据集,然后通过CF按照您需要的方式构建XML

我从来不需要使用CLOB。我几乎总是坚持使用varchar数据类型,而且它似乎做得很好


还有一些选项,您可以调用存储的Proc,它触发MSSQL生成一个实际的xml文件(不仅仅是一个字符串),并简单地返回文件名。然后可以使用CFFILE action=“read”获取xml字符串并进行相应的解析。假设您的web服务器和db有一个共同的文件存储区域。

我真的认为返回Clob数据的成本可能会更低,然后将多行数据连接到一个XML字符串中,然后对其进行解析(ick!)。您试图做的就是CLOB的设计目的。JDBC处理得非常好。对性能的影响可能微不足道。毕竟,无论是在多行还是在单个字段中,您都必须以任何方式返回相同数量的字符数据。必须在SQL端“分解”它,然后在CF端“重新组装”它,这看起来就像是重新发明轮子


我想补充一点,像这样的问题有时会让我感到困惑。少量的测试似乎能够让您满意地回答这个问题-否?

Jason,请参阅下面我的评论。JDBC将很好地处理这个问题。如果有足够的资源来处理多行中的10k字符数据,那么在单个字段中也有足够的资源来发送。这是我的看法(无意冒犯:)CMS系统通常通过JDBC依赖于大文本。这就是它的设计目的。@TheJason:FYI,为了避免混淆,我将帖子改为“varchar”而不是“text”(这是sql server中的clob类型;)。如果这不是你的意思,就把它滚回去。@Mark A Kruger:同意,没有冒犯。就像我说的,我从来都不需要CLOB,所以我到底知道什么:)但是谢谢你激发了我对CLOB'ing的兴趣。我倾向于同意你的观点,如果jdbc处理它,性能可能会更好。是的,您说无论如何都必须返回字符是正确的,但是在结果行/列上执行SQL返回与在一列中执行多行操作的切换非常简单。它要么使用临时表,要么使用变量。默认情况下,使用带有拆分xml响应的临时表与使用变量的临时表是不可能的。我从CF中把数据重新连接在一起得到的一点是,与打开整个站点的CLOB相比,问题是孤立的。你说测试将证明或反驳任何问题是正确的,但正如你之前所说的“似乎是重新发明轮子”,我也认为有人以前考虑过这一点。不管怎样,我需要测试,但我正在寻找一些我可能没有考虑过的东西,或者任何“抓到”的东西。