求助优化sql语句

qq_28710983 2017-02-18 09:28:52
select w2.*,w1.* from member w1,(select top 100 ROW_NUMBER() over ( ORDER BY ID ASC) n,id,投注次数,赢利,洗码 from 人员表 a cross apply
(select 投注次数=count(b.ID),赢利=SUM(b.赢利),洗码=SUM(b.洗码) from 游戏记录 b where 节点 like a.节点树+'%' and 上线='dkdaili' and 级别!='子帐号' ) c
where c.投注次数>0) w2 where w1.id=w2.id and w2.n>0 order by w2.n asc


大家好 ,这是我的sql语句 ,查询的结果是

我有2个表 member表 和游戏记录表, 查询出下级有投注记录的 member表里面的帐号 ,
我的sql分页语句是这样写的 ,但是当数据多了以后 ,就会非常的 慢 ,求助这个sql语句需要如何优化
...全文
122 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_28710983 2017-02-18
  • 打赏
  • 举报
回复
引用 1 楼 roy_88 的回复:
但是当数据多了以后 ,就会非常的 慢 ,求助这个sql语句需要如何优化 ---------------- 多大数据?过千万数据最好用分区表/分区索引等处理数据大问题,SQL12之后的版本同之前的版本处理方式有所不同 查询时最好用脏读 查看执行计划是否缺少索引: 如:建上以下索引,定时维护碎片,再测测 e.g.
CREATE INDEX IX_member_节点树 ON member(节点树);
CREATE INDEX IX_游戏记录_节点 ON 游戏记录(节点,上线,级别) INCLUDE(赢利,洗码);
千万数据是有的 ,看来得好好学学 sql 语句优化 ,我有点看不懂 你写的
二月十六 2017-02-18
  • 打赏
  • 举报
回复
好吧,我知道咋回事了
二月十六 2017-02-18
  • 打赏
  • 举报
回复
这个语句不会报错么?多次为w2指定了投注次数。
中国风 2017-02-18
  • 打赏
  • 举报
回复
但是当数据多了以后 ,就会非常的 慢 ,求助这个sql语句需要如何优化 ---------------- 多大数据?过千万数据最好用分区表/分区索引等处理数据大问题,SQL12之后的版本同之前的版本处理方式有所不同 查询时最好用脏读 查看执行计划是否缺少索引: 如:建上以下索引,定时维护碎片,再测测 e.g.
CREATE INDEX IX_member_节点树 ON member(节点树);
CREATE INDEX IX_游戏记录_节点 ON 游戏记录(节点,上线,级别) INCLUDE(赢利,洗码);

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧