none
關於SQLServer查詢效能的問題:進行更新統計值後反而效能變慢了? RRS feed

  • 問題

  • 關於SQLServer查詢效能的問題:進行更新統計值後反而效能變慢了?

    另外,sqlserver的查詢主要是使用記憶體還是tempDB?

    和哪個比較有關係?

    2015年12月28日 上午 06:37

解答

  • It depends on query you used, possible to post table schema and query? In general, sql reads data to cache when run query and may use tempdb for certain things like join and sorting. Regarding stats, only useful if related columns are used in the query.
    • 已標示為解答 HAPPYHSIN 2015年12月29日 上午 06:57
    2015年12月28日 下午 02:08
  • 為甚麼會和 table schema有關係呢? 更新統計值和 table schema有關係嗎?

    最後一行"Regarding stats, only useful if related columns are used in the query."

    是指說 和更新統計值比較有關係的是 quary嗎?

    By looking at table schema and query, people may understand what you are asking for better. Otherwise , can only tell you general stuffs may not much help for specific issue. For stats, if column1 has stats but query doesn't pull data from column1 then updating stats for that column will not speed up the query. That's what I meant.
    • 已標示為解答 HAPPYHSIN 2015年12月30日 上午 03:51
    2015年12月29日 下午 02:20
  • 老實說,我是使用同樣的quary執行 ,更新統計值一直都是開著,但我又用人工排程寫了一個更新統計值的排程,

    在我還沒用"人工排程寫了一個更新統計值的排程",執行相同的quary,反而比較快,用完後,反而變慢了

    Enabling auto update stats doesn't mean sql will update stats all the time. If updating stats doesn't speed up query, you may have perimeter sniffing issue. That's another reason people like to see the query for better understanding.
    • 已標示為解答 HAPPYHSIN 2015年12月30日 上午 03:51
    2015年12月29日 下午 02:23

所有回覆

  • It depends on query you used, possible to post table schema and query? In general, sql reads data to cache when run query and may use tempdb for certain things like join and sorting. Regarding stats, only useful if related columns are used in the query.
    • 已標示為解答 HAPPYHSIN 2015年12月29日 上午 06:57
    2015年12月28日 下午 02:08
  • 為甚麼會和 table schema有關係呢? 更新統計值和 table schema有關係嗎?

    最後一行"Regarding stats, only useful if related columns are used in the query."

    是指說 和更新統計值比較有關係的是 quary嗎?

    • 已編輯 HAPPYHSIN 2015年12月29日 上午 07:01
    2015年12月29日 上午 06:59
  • 老實說,我是使用同樣的quary執行 ,更新統計值一直都是開著,但我又用人工排程寫了一個更新統計值的排程,

    在我還沒用"人工排程寫了一個更新統計值的排程",執行相同的quary,反而比較快,用完後,反而變慢了

    2015年12月29日 上午 07:04
  • 為甚麼會和 table schema有關係呢? 更新統計值和 table schema有關係嗎?

    最後一行"Regarding stats, only useful if related columns are used in the query."

    是指說 和更新統計值比較有關係的是 quary嗎?

    By looking at table schema and query, people may understand what you are asking for better. Otherwise , can only tell you general stuffs may not much help for specific issue. For stats, if column1 has stats but query doesn't pull data from column1 then updating stats for that column will not speed up the query. That's what I meant.
    • 已標示為解答 HAPPYHSIN 2015年12月30日 上午 03:51
    2015年12月29日 下午 02:20
  • 老實說,我是使用同樣的quary執行 ,更新統計值一直都是開著,但我又用人工排程寫了一個更新統計值的排程,

    在我還沒用"人工排程寫了一個更新統計值的排程",執行相同的quary,反而比較快,用完後,反而變慢了

    Enabling auto update stats doesn't mean sql will update stats all the time. If updating stats doesn't speed up query, you may have perimeter sniffing issue. That's another reason people like to see the query for better understanding.
    • 已標示為解答 HAPPYHSIN 2015年12月30日 上午 03:51
    2015年12月29日 下午 02:23
  • 真的謝謝你!! 你的答案讓我有一些方向!!
    2015年12月30日 上午 03:52