下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當前位置:軟件下載吧 > 數據庫 > MS_SQL > 性能優化:SQL Server 性能調優之查詢從20秒至2秒的優化方法

          性能優化:SQL Server 性能調優之查詢從20秒至2秒的優化方法

          時間:2024-03-12 20:33作者:下載吧人氣:22

          一、需求

          需求很簡單,就是需要查詢一個報表,只有1個表,數據量大約60萬左右,但是中間有些邏輯。

          先說明一下服務器配置情況:1核CPU、2GB內存、機械硬盤、Sqlserver 2008 R2、Windows Server2008 R2 SP1和阿里云的服務器,簡單說就是阿里云最差的服務器。

          1、原始表結構

          性能優化:SQL Server 性能調優之查詢從20秒至2秒的優化方法

          非常簡單的一張表,這次不討論數據冗余和表字段的設計,如是否可以把Project和Baojian提出成一個表等等,這個是原始表結構,這個目前是沒有辦法改變的。

          2、查詢的sql語句為

          select *from(
          select *,ROW_NUMBER() OVER (ORDER BY sc desc) as rank
          from(
          select *,
          case when ( 40-(a.p*(case when a.p > 0 then 1 else -0.5 end)))<=30
          then 30
          else ( 40-(a.p*(case when a.p > 0 then 1 else -0.5 end)))
          end as sc
          from (
          select * from (
          select a.ProjectNumber, a.ProjectName, a.BaojianNumber, a.BaojianName, a.ToubiaoPerson,
          sum(UnitPrice) as sumPrice,
          b.price as avgPrice,
          ((sum(UnitPrice)-b.price)/nullif(b.price,0)*100) as p,
          sum(case when UnitPrice>b.price then b.price else UnitPrice end )as pprice,
          sum(case when UnitPrice>MaxPrice then 1 else 0 end ) as countChao
          from ToubiaoDetailTest1 a
          join (
          select ProjectNumber, ProjectName, BaojianNumber, BaojianName, avg(price) as price
          from(
          select * from(
          select ProjectNumber, ProjectName, BaojianNumber, BaojianName, ToubiaoPerson,
          SUM(UnitPrice) as price,
          SUM(case when UnitPrice>MaxPrice then 1 else 0 end ) as countChao
          from ToubiaoDetailTest1
          group BY ProjectNumber, ProjectName, BaojianNumber, BaojianName, ToubiaoPerson
          ) tt
          where tt.countChao = 0
          ) t
          group by ProjectNumber, ProjectName, BaojianNumber, BaojianName
          ) b
          on a.ProjectNumber=b.ProjectNumber and a.ProjectName=b.ProjectName and a.BaojianNumber=b.BaojianNumber and a.BaojianName=b.BaojianName
          group by a.BaojianNumber, a.BaojianName, a.ProjectNumber, a.ProjectName, a.ToubiaoPerson, b.price
          ) tt
          where tt.countChao=0
          ) a
          ) b
          ) t
          order by rank

          標簽MSSQL,SQLServer,技術文檔,數據庫,SQLSERVER

          相關下載

          查看所有評論+

          網友評論

          網友
          您的評論需要經過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 日本人的色道www免费一区 | 中文字幕在线观看一区| 亚洲日韩AV一区二区三区中文 | 精品视频一区二区三区| 搜日本一区二区三区免费高清视频| 无码人妻精品一区二区三区66| 福利电影一区二区| 日韩免费一区二区三区在线| 中文人妻无码一区二区三区| 无码8090精品久久一区| 日韩视频一区二区| 制服丝袜一区在线| 人妻AV中文字幕一区二区三区 | 久久亚洲国产精品一区二区| 无码日韩人妻AV一区二区三区| 亚洲AV成人一区二区三区在线看| 亚洲AV成人一区二区三区AV| 亚洲国产高清在线一区二区三区 | 日韩AV无码久久一区二区| 一区二区不卡视频在线观看| 亚洲精品精华液一区二区| 国产美女在线一区二区三区| 精品熟人妻一区二区三区四区不卡| 无人码一区二区三区视频| 插我一区二区在线观看| 日韩一区二区精品观看| 激情爆乳一区二区三区| 一区二区三区在线播放| 中文字幕日韩一区二区三区不| 精品视频在线观看一区二区三区| 国产一区二区三区樱花动漫| 国产激情一区二区三区四区| 国产在线一区二区杨幂| 亚洲第一区在线观看| 亲子乱av一区二区三区| 无码精品一区二区三区免费视频 | 白丝爆浆18禁一区二区三区 | 日韩久久精品一区二区三区 | 国产精品福利一区二区久久| 91久久精品一区二区| 亚洲码欧美码一区二区三区|