Skip to content

Commit

Permalink
統計情報の更新と、In-Memory OLTP のファイルを UTF-8 で保存
Browse files Browse the repository at this point in the history
  • Loading branch information
MasayukiOzawa committed Feb 19, 2017
1 parent 5c363d9 commit aa8fb10
Show file tree
Hide file tree
Showing 6 changed files with 93 additions and 15 deletions.
10 changes: 5 additions & 5 deletions In-Memory OLTP/オブジェクト情報.sql
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
-- オブジェクト単位のメモリ使用量 (DB 単位)
-- オブジェクト単位のメモリ使用量 (DB 単位)
SELECT
object_id,
OBJECT_NAME(object_id) AS object_name,
Expand All @@ -9,7 +9,7 @@ SELECT
FROM
sys.dm_db_xtp_table_memory_stats

-- ハッシュインデックスの設定状況
-- ハッシュインデックスの設定状況
SELECT
DB_NAME() AS database_name,
OBJECT_NAME(his.object_id) AS object_name,
Expand All @@ -28,7 +28,7 @@ FROM
AND
i.index_id = his.index_id

-- 非クラスター化インデックスの設定状況
-- 非クラスター化インデックスの設定状況
SELECT
DB_NAME() AS database_name,
OBJECT_NAME(nis.object_id) AS object_name,
Expand Down Expand Up @@ -60,7 +60,7 @@ FROM
AND
i.index_id = nis.index_id

-- インデックスの統計情報
-- インデックスの統計情報
SELECT
OBJECT_NAME(s.object_id) AS object_name,
i.name,
Expand Down Expand Up @@ -88,7 +88,7 @@ FROM
AND
i.index_id = s.index_id

-- オブジェクトの操作統計
-- オブジェクトの操作統計
SELECT
OBJECT_NAME(object_id) AS object_name,
row_insert_attempts,
Expand Down
4 changes: 2 additions & 2 deletions In-Memory OLTP/ガベージコレクション.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
SELECT * FROM sys.dm_db_xtp_gc_cycle_stats
SELECT * FROM sys.dm_db_xtp_gc_cycle_stats
SELECT * FROM sys.dm_xtp_gc_queue_stats
SELECT * FROM sys.dm_xtp_gc_stats

-- Žè“®‚Ì GC ŽÀs
-- 手動の GC 実行
EXEC sys.sp_xtp_checkpoint_force_garbage_collection
8 changes: 4 additions & 4 deletions In-Memory OLTP/チェックポイントファイル.sql
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
-- チェックポイントファイルの全体統計
-- チェックポイントファイルの全体統計
SELECT
*
FROM
sys.dm_db_xtp_checkpoint_stats


-- チェックポイントファイル使用状況 (詳細)
-- チェックポイントファイル使用状況 (詳細)
SELECT
*
FROM
sys.dm_db_xtp_checkpoint_files
ORDER BY
container_guid ASC

-- チェックポイントファイルのペア情報
-- チェックポイントファイルのペア情報
SELECT
T1.checkpoint_file_id, T1.relative_file_path, T1.file_type_desc, T1.file_size_in_bytes, T1.file_size_used_in_bytes, T1.logical_row_count,
T2.checkpoint_file_id, T2.relative_file_path, T2.file_type_desc, T2.file_size_in_bytes, T2.file_size_used_in_bytes, T2.logical_row_count
Expand All @@ -30,7 +30,7 @@ WHERE


/*
-- SQL Server 2016 以降は、内部マージポリシーにより自動的にファイルがマージされる
-- SQL Server 2016 以降は、内部マージポリシーにより自動的にファイルがマージされる
EXEC sys.sp_xtp_merge_checkpoint_files
@database_name = tpch,
@transaction_lower_bound=0,
Expand Down
4 changes: 2 additions & 2 deletions In-Memory OLTP/リソースプールのバインド状況.sql
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
--リソースプールへのバインド状況
--リソースプールへのバインド状況
SELECT
d.name,
rp.name,
Expand All @@ -12,7 +12,7 @@ FROM
rp.pool_id = COALESCE(d.resource_pool_id, 2)

/*
リソースプールのバインド
リソースプールのバインド
CREATE RESOURCE POOL Pool_IMOLTP
WITH(
MIN_MEMORY_PERCENT = 50,
Expand Down
4 changes: 2 additions & 2 deletions In-Memory OLTP/全体のメモリ使用状況.sql
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
-- 詳細なメモリ使用量 (DB 単位)
-- 詳細なメモリ使用量 (DB 単位)
SELECT
OBJECT_NAME(object_id) AS object_name,
*
Expand All @@ -10,7 +10,7 @@ ORDER BY
memory_consumer_id ASC
GO

-- 詳細なメモリ使用量 (システムレベル)
-- 詳細なメモリ使用量 (システムレベル)
SELECT
*
FROM
Expand Down
78 changes: 78 additions & 0 deletions Index/統計情報のヒストグラムの確認.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
SET NOCOUNT ON
GO

DECLARE @stats TABLE(
RANGE_HI_KEY sql_variant,
RANGE_ROWS real,
EQ_ROWS real,
DISTINCT_RANGE_ROWS bigint,
AVG_RANGE_ROWS real
)
DECLARE @results TABLE(
object_name sysname,
stats_name sysname,
RANGE_HI_KEY sql_variant,
RANGE_ROWS real,
EQ_ROWS real,
DISTINCT_RANGE_ROWS bigint,
AVG_RANGE_ROWS real
)
DECLARE @object_name sysname, @stats_name sysname

DECLARE stats_cursor CURSOR FOR
SELECT
OBJECT_SCHEMA_NAME(s.object_id) + '.' + OBJECT_NAME(s.object_id), s.name
FROM
sys.stats AS s
INNER JOIN
sys.all_objects o
ON
s.object_id = o.object_id
AND
o.is_ms_shipped = 0
WHERE
OBJECTPROPERTY(s.object_id, 'IsSystemTable') =0

OPEN stats_cursor

FETCH NEXT FROM stats_cursor
INTO @object_name, @stats_name

WHILE @@FETCH_STATUS = 0
BEGIN

INSERT INTO @stats EXEC ('DBCC SHOW_STATISTICS(''' + @object_name + ''', ''' + @stats_name + ''') WITH HISTOGRAM, NO_INFOMSGS')
INSERT INTO @results SELECT @object_name, @stats_name,* FROM @stats
DELETE FROM @stats
FETCH NEXT FROM stats_cursor
INTO @object_name, @stats_name
END

CLOSE stats_cursor
DEALLOCATE stats_cursor

SELECT * FROM @results


-- SQL Server v.Next 向けの統計情報のヒストグラム確認
SELECT
OBJECT_SCHEMA_NAME(s.object_id) AS schema_name,
object_name(s.object_id) AS object_name,
s.name,
sh.step_number,
sh.range_high_key,
sh.range_rows,
sh.equal_rows,
sh.distinct_range_rows,
sh.average_range_rows
FROM
sys.stats s
cross apply
sys.dm_db_stats_histogram(object_id, stats_id) AS sh
WHERE
OBJECTPROPERTY(s.object_id, 'IsSystemTable') =0
ORDER BY
object_name(s.object_id),
name,
step_number,
range_high_key

0 comments on commit aa8fb10

Please sign in to comment.