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

          軟件下載吧

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

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

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

          一、需求

          需求很簡單,就是需要查詢一個報表,只有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

          相關下載

          查看所有評論+

          網友評論

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

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 国产成人av一区二区三区在线观看| 成人区精品一区二区不卡| 无码乱码av天堂一区二区| 精品在线一区二区三区| 精品一区二区无码AV| 亚洲一区二区三区在线| 亚洲福利视频一区二区| 免费无码A片一区二三区| 久久久精品人妻一区亚美研究所 | 国产无线乱码一区二三区| 日韩AV无码一区二区三区不卡| 亚洲国产视频一区| 亚洲av鲁丝一区二区三区 | 日本免费一区二区三区 | 精品人妻一区二区三区浪潮在线| 国产AV天堂无码一区二区三区| 激情内射亚洲一区二区三区| 精品国产一区二区22| 一区二区三区在线免费观看视频| 视频一区二区精品的福利| 精品无人乱码一区二区三区| 精品动漫一区二区无遮挡| 一区国产传媒国产精品| 国产精品视频分类一区| 日本高清一区二区三区| 精品人妻少妇一区二区三区不卡 | 国内精品一区二区三区最新| 亚洲另类无码一区二区三区| 精品爆乳一区二区三区无码av| 91久久精品一区二区| 国产精品制服丝袜一区| 国产对白精品刺激一区二区| 亚洲香蕉久久一区二区 | 国产美女露脸口爆吞精一区二区 | 在线观看一区二区三区av| 亚洲另类无码一区二区三区| 怡红院美国分院一区二区| 亚洲一区二区三区高清在线观看 | 色窝窝无码一区二区三区| 色窝窝无码一区二区三区色欲| 亚洲一区免费在线观看|