建立sql server2000分区视图失败 都不知道你两个表里面的数据查询当然两个表都要查了,你的主键是apid,logid,当你同时指定了 apid,logid 以后结果自然是唯一的,查到第一个结果自然就停下来了,没有继续下一个表另外不知道你指的分区视图是什么,你那个就只是一个最基本的视图而已,为什么说是分区视图? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上的兄弟,我建了check约束和主键,sql server应该根据我的分区键自动定位所需要查的表才对啊。这就是分区视图的意义嘛。要不然干嘛把结构相同的表分解成几个啊。 我又试了一下,如果只把apid作为主键的话,分区视图是成功的。但作为主键的部分就不行。可是书上明明说只要分区键是主键的部分就可以了啊急死我了 其实你建的分区视图没有错,联合主键也没有错,错在查询了.分区视图在查询的时候要求查询的值与分区列的类型相同,而你在查询where apid=1时,SQLSERVER会将1视为tinyint,但apid的类型却为int,因此数据类型不对,导致分区失效,进行全区扫描.这样处理一下,把分区列的查询值显示转换为分区列的数据类型,例如:select * from userlog where apid = CAST(1 as int) /*将1强制转换为分区列的数据类型*/ 字段问题 GROUP中带函数的问题 问个关于创建触发器的简单问题 关于用户权限的问题 请问如何找出 top n 条记录以外的记录. 写了一个登录的存储过程,其中上次登录时间无法更新 如何清理日志 关于SQL合计的问题 请问Excel能否调用SQL Server数据库,高分求教 高手帮助,解决马上给分。高分请教在sqlserver2000关于删除时的触发器处理级联出错问题。 sqlserver2005 中的nvarchar(50)类型字段用一个简单的查询语句出错 有关数据导入问题,请邹建大哥帮忙
分区视图在查询的时候要求查询的值与分区列的类型相同,而你在查询where apid=1时,SQLSERVER会将1视为tinyint,但apid的类型却为int,因此数据类型不对,导致分区失效,进行全区扫描.
这样处理一下,把分区列的查询值显示转换为分区列的数据类型,例如:
select * from userlog where apid = CAST(1 as int) /*将1强制转换为分区列的数据类型*/