|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Archive非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差server|函数利用APPLY运算符能够为完成查询操纵的内部表表达式前往的每一个行挪用表值函数。表值函数作为右输出,内部表表达式作为左输出。经由过程对右输出求值来取得左输出每行的盘算了局,天生的行被组合起来作为终极输入。APPLY运算符天生的列的列表是左输出中的列集,后跟右输出前往的列的列表。
APPLY有两种情势:CROSSAPPLY和OUTERAPPLY。CROSSAPPLY仅前往内部表中经由过程表值函数天生了局集的行。OUTERAPPLY既前往天生了局集的行,也前往不天生了局集的行,个中表值函数天生的列中的值为NULL。
--创立test表
createtabletest(oidint,namechar(20),leadchar(10))
--往内里拔出几行数据
insertintotestvalues(1,测试公司,11)
insertintotestvalues(1,测试公司,12)
insertintotestvalues(1,测试公司,13)
insertintotestvalues(1,测试公司,14,15,16)
--拆分字符串函数
alterfunctionselect_Dempart_Manager
(
@oidint,
@leadchar(10)
)
returns@temptable(oidint,leadchar(10))
as
begin
whilecharindex(,,@lead)>1
begin
insertinto@tempvalues(@oid,left(@lead,charindex(,,@lead)-1))
set@lead=stuff(@lead,1,charindex(,,@lead),)
end
insertinto@tempvalues(@oid,@lead)
return
end
--利用apply函数挪用
selecta.oid,name,ST.leadfromtesta
outerapplyselect_Dempart_Manager(a.oid,a.lead)asST
--了局
--oidnamelead
--1测试公司11
--1测试公司12
--1测试公司13
--1测试公司14
--1测试公司15
--1测试公司16
为了在某种程序上弥补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新,对索引的刷新将等到全部记录插入/修改完毕之后再进行。 |
|