飘灵儿 发表于 2015-1-16 22:26:29

MSSQL教程之SQL Server 2000中天生XML的小技能

一个语句分成两个event(实际上不止,其他可以忽略),一个table_mapevent和一个Rows_log_event。Table_mapevent是一样的,主要看Rows_log_event。server|xml|技能|天生xml之前在先容SQL2k的时分已提到了SQL2k对XML的撑持,利用forXML语句就能够很简单的把实行的了局转化为一个XML,如许能够在很年夜水平上进步体系运转效力和开辟速率,具体的内容请拜见BooksOnline。  可是在利用ADO(RequiredADO2.6)会见前往的XML的体例和本来的Recordset是有所分歧的。假如你仍是利用Recordset会见的话,只能失掉一个Unicode格局的XMLSchema,而没法失掉XML的内容。
  实在这个成绩也是很简单就可以办理的,只是我自觉得很熟习ADO,没有细心看Help,以是没有发明ADO是接纳Stream的体例来失掉和前往XML的。
  Command工具有两个属性,叫InputStream和OutputStream,属性的值是一个IUnknown接口。能够把一个XMLParser的接口赋给它,大概是间接用Request、Response等。如许的优点是不必要再往天生一个Recordset,不必要往保留这些数据,从而节俭了体系开支。
  上面给人人一个复杂的把XML用Response前往的Example:
<%@Language=VBScript%>
<!--#includefile="ADOVBS.inc"-->
<%
 DimobjConn,objCmd,i
 SetobjConn=Server.createobject("ADODB.CONNECTION")
 objConn.Open"Provider=SQLOLEDB.1;Password=;PersistSecurityInfo=True;UserID=sa;InitialCatalog=PBA;DataSource=(local)"
 SetobjCmd=Server.CreateObject("ADODB.Command")
 objCmd.ActiveConnection=objConn
 objCmd.Properties("OutputStream")=Response
 objCmd.Properties("XMLRoot")="root"
 objCmd.CommandText="Select*fromUserStatusforXMLAuto"
 Response.ContentType="text/xml"
 objCmd.Executei,,adExecuteStream
 SetobjCmd=Nothing
 objConn.Close
 SetobjConn=Nothing
%>
目前的方案是用mysqlbinlog工具,增加一个flashback参数,输出结果为一个新的binlog文件――姑且叫做flashbacklog,这个flashbacklog顺序执行,可制定某张表和执行到哪个pos,来实现数据库的闪回。

深爱那片海 发表于 2015-1-19 12:20:24

索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。

admin 发表于 2015-1-25 17:55:18

where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。

海妖 发表于 2015-2-3 12:22:17

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。

蒙在股里 发表于 2015-2-8 22:53:03

可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。

活着的死人 发表于 2015-3-8 15:22:24

这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。

柔情似水 发表于 2015-3-16 03:10:06

不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关

飘飘悠悠 发表于 2015-3-22 19:10:51

但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
页: [1]
查看完整版本: MSSQL教程之SQL Server 2000中天生XML的小技能