这样的表结构应该怎么处理 这个是视图,里面的D00_06是员工表,因为有许多字段都是员工比如fzr负责人,tbr填表人,jcr检查人等等,总觉得这样的表结构不够好,而且目前已经有1w多数据,每月2、3千条增长,现在从视图中select全部要9秒左右,该怎么优化呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 alter view V_TESTasselect ID,....,(select ygxm from d00_06 where ygno=fzr) as fzrxm,....from D04_11这样速度应该更快 不管是什么负责人、填表人还是检查人,都是员工,都关联员工表显示就是了,要分那么多小表干嘛?另外才几万条select就要9秒了?检查下索引设置,检查下是否优化了查询代码?如果查询本身很复杂,就别搞视图了,还不如直接查询基表呢 这里确实是在建视图,那些小表是join的时候虚拟的,现在是希望先建一个包含工号姓名等全部信息的视图,然后再在视图里查询,所以感觉是不是视图应该优化一下?直接用2楼的那种还是join哪个更快呢?另外索引要怎么设置? 聚集索引 ygno 这个,2楼方法试试 其实不一定全部要关联的,做erp经常会用到什么制单人,审核人之类不重要的人名,你可以直接将用户姓名取来存在那个单据里呀,不一定要把id存在单据里再去关联,意义不大,除非非常重的! ygno本身是D00_06表的主键,已经是聚集索引了,2楼的方法试了,速度好像差不多(9秒那个时间是查询全部记录的,有where id=9之类的时候还是挺快的1秒左右。 动态生产的SQL语句,varchar(8000)长度不够 索引用在哪个场合? nvarchar(200) 中 存NULL 或者空字符串 是否占内存 MS-SQL怎样令下一行缩进? 各位SQL高手帮忙啦.....小女子先谢各位出手.... 求助:我用程序向sqlserver插进数据时,发现目的表会断断续续的插入 删除记录的问题,用了这么长sql,头一次遇到。 高手帮忙,用过2005企业版的!谢谢!急!如何还原数据库? 如何制作 具有剪切、复制、粘贴、撤消、重做、等功能的菜单? 最后10分求一个存储过程,, 求一个表连接SELECT语句! 难度大,根据ip和掩码位计算出广播地址的函数?
as
select ID,....,(select ygxm from d00_06 where ygno=fzr) as fzrxm,....
from D04_11这样速度应该更快
另外才几万条select就要9秒了?检查下索引设置,检查下是否优化了查询代码?如果查询本身很复杂,就别搞视图了,还不如直接查询基表呢
其实不一定全部要关联的,做erp经常会用到什么制单人,审核人之类不重要的人名,你可以直接将用户姓名取来存在那个单据里呀,不一定要把id存在单据里再去关联,意义不大,除非非常重的!