インデックスの圧縮をしないといけないので、出張帰りに作ってみた
久しぶりの投稿です。香川に出張で昨日の夜、4,5年ぶりに鶴丸 (うどんやさんです。) に行ってきました。
下記のサイトにも書いてありますが、カレーうどんが美味しいです。香川に来たら、是非お試しあれ!www.shikoku-np.co.jp
「飲んだ後にはラーメン」という通説をくつがえす、うどん大国・讃岐ならではの現象が“夜うどん”。なぜか夜中にうどんが食べたくなる…。そんな讃岐人の胃袋を満たしてくれるお店が、高松市古馬場町の「鶴丸」。午後8時の開店直後は観光客、時間が下がると仕事や飲み会帰りの地元客を中心に、一晩中客足の途絶えない人気店です。
数あるメニューの中でも、うどんファン御用達の一杯が「カレーうどん」。深夜にカレー?、と違和感を感じたのもつかの間、豊かなカレーの香りに食欲は急上昇!。ほんのり甘いのに後口はピリリと辛い独特の味わいは、ご主人・鶴見康夫さん特製のスパイスによるもの。のど越し抜群の麺、シャキシャキの玉ネギとの相性もバッチリで、どんどんはしが進むから驚きです。
客席からは麺の打ち場が見渡せ、いつでも打ちたて麺を出してくれるのも嬉しい限り。「大変ではあるけど、徹底的にお客さん目線で考えたらこのやり方になったね」と鶴見さん。味はもちろん、ご主人にほれ込むリピーターが多いというのも納得です。ぜひあなたの目と舌で確かめて!
さて、本題に入りましょう。今週作業があるので、その準備を出張帰りにささっとやってみました。早速、AdventureWorks データベースで試してみましょう。
DECLARE @schema_name NVARCHAR(500) DECLARE @table_name NVARCHAR(500) DECLARE @index_name NVARCHAR(500) DECLARE @msg NVARCHAR(500) DECLARE @ddlstatement NVARCHAR(500) DECLARE REBUILD_INDEX_LIST CURSOR FOR SELECT s.name, t.name, i.name FROM sys.tables t INNER JOIN sys.schemas s ON t.schema_id = s.schema_id INNER JOIN sys.indexes i ON t.object_id = i.object_id CROSS APPLY sys.dm_db_index_physical_stats(DB_ID(), OBJECT_ID(s.name + '.' + t.name), i.index_id, NULL, 'DETAILED') dips WHERE dips.index_level = 0 AND dips.alloc_unit_type_desc = 'IN_ROW_DATA' AND i.name IS NOT NULL AND dips.index_type_desc IN ('CLUSTERED INDEX','NONCLUSTERED INDEX') AND dips.avg_fragmentation_in_percent >= 50 ORDER BY s.name, t.name, i.index_id OPEN REBUILD_INDEX_LIST FETCH NEXT FROM REBUILD_INDEX_LIST into @schema_name, @table_name, @index_name WHILE @@FETCH_STATUS =0 BEGIN SET @ddlstatement = 'ALTER INDEX '+ @index_name + ' ON ' + @schema_name + '.' + @table_name + ' REBUILD PARTITION = ALL WITH (ONLINE = ON, DATA_COMPRESSION = PAGE, SORT_IN_TEMPDB = ON )' SET @msg = 'REBUILD START- ' + RTRIM(CAST(SYSDATETIME() AS NVARCHAR(30))) RAISERROR (@msg, 0, 1) WITH NOWAIT RAISERROR (@ddlstatement, 0, 1) WITH NOWAIT EXECUTE(@ddlstatement) SET @msg = 'REBUILD END- ' + RTRIM(CAST(SYSDATETIME() AS NVARCHAR(30))) RAISERROR (@msg, 0, 1) WITH NOWAIT FETCH NEXT FROM REBUILD_INDEX_LIST into @schema_name, @table_name, @index_name END CLOSE REBUILD_INDEX_LIST DEALLOCATE REBUILD_INDEX_LIST
※適当に書いたので、今日の夜にでもブラッシュアップしよーっと。
圧縮できているか、確認してみましょう。compressed_page_count が増加していることが判断できます。
SELECT s.name, t.name, i.name, dips.compressed_page_count FROM sys.tables t INNER JOIN sys.schemas s ON t.schema_id = s.schema_id INNER JOIN sys.indexes i ON t.object_id = i.object_id INNER JOIN sys.data_spaces ds ON ds.data_space_id = i.data_space_id LEFT OUTER JOIN sys.partitions p ON t.parent_object_id = p.object_id CROSS APPLY sys.dm_db_index_physical_stats(DB_ID(), OBJECT_ID(s.name + '.' + t.name), i.index_id, NULL, 'DETAILED') dips WHERE dips.index_level = 0 AND dips.alloc_unit_type_desc = 'IN_ROW_DATA' AND i.name IS NOT NULL AND dips.index_type_desc IN ('CLUSTERED INDEX','NONCLUSTERED INDEX') ORDER BY s.name, t.name, i.index_id
※最近、ネタがないし、新しいこともできない状態なのでこーゆー記事になってしまいました。そろそろ、新しいこともやんないとなー。CTP 3.0 でたら真面目にみてみるか。
アレルギーが最近ひどい。薬買わないと。
- 出版社/メーカー: JaniJaniFan
- メディア: ホーム&キッチン
- この商品を含むブログを見る