Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
SQL Server   インデックスの仕組みと             断片化、             再構築の必要性について2012/02/14インフラグループ 大和屋貴仁
細かいお話の前に……データベースのデータは、FusionIOなどの物理ディスクに書き込んで、保存します。
Chapter. 1物理ディスクのデータ格納のおさらい    ざっくりとした説明をします。    概念レベルなので、    詳しい人にしたら、間違ってる箇所も。。。
物理ディスクのデータ格納物理ディスクにデータを格納する時は、最初に部屋を確保します。どーんと、広いフロアから人を探すの大変ですよね?              ↓まず、部屋を確保              ●   Aさん→   ●       ...
物理ディスクのデータ格納どーんと、広いフロアに部屋をたくさん作っていきます。 ●      ←こんな感じで、新しいデータを        いれる度に部屋を確保します。
物理ディスクのデータ格納Aさんが太って、部屋におさまらない場合は?●  ←はみ出しちゃう!!でも、はみ出したら迷惑。
物理ディスクのデータ格納Aさんの部屋を大きくしてあげたら良いよね!          ●          ↑Aさんの部屋を大きくしてあげれば良い。
物理ディスクのデータ格納部屋を並べ替えたら、Aさんの部屋も収納できるけど…… ●        ←部屋を並べ替えてあげれば、         Aさんの部屋を確保できるけど……         Aさんだけの為に、わざわざ部屋並べ替えるの     ...
物理ディスクのデータ格納Aさんを切り刻め!!
物理ディスクのデータ格納切り刻んだAさんをあっちこっちにあるAさんの部屋に格納。
物理ディスクのデータ格納え!?Aさんが必要!?まじか……。Aさん切り刻んでるから、まず集めなきゃ。         あっちこちにちらばっているAさんの部屋から         Aさんだった残骸を集めて!
物理ディスクのデータ格納集めたAさんをくっつけて、Aさん復活!。           ●
物理ディスクのデータ格納ちなみに、もっとAさんがでっかくなったり、タイミングによっては……         Aさんの部屋が増えて、         あっちこっちに散らばって、         集めるのが大変!!
物理ディスクのデータ格納どれぐらい散らばっているかを示すのが断片化率と言います。
物理ディスクのデータ格納デフラグって聞いたことありません?  こんな画面でやったデフラグ→
物理ディスクのデータ格納デフラグって、切り刻んだAさんをくっつけて、1個の部屋を用意してあげること。 ●         そう!         面倒だから、やらなかった         部屋の並べ替えですね。
Chapter. 2SQL Serverのインデックスの再構築      ざっくりとした説明をします。      概念レベルなので、      詳しい人にしたら、間違ってる箇所も。。。
もう一度言いますデータベースのデータは、FusionIOなどの物理ディスクに書き込んで、保存します。
物理ディスクのデータ格納データはディスクに書き込むんだから、断片化とは無縁ではありません。
SQL Serverのインデックス  B-Tree式です。                           UserID         UserID                                 UserID      ...
SQL Serverのインデックス  インデックスとディスクが  関係しています。UserID   UserID       UserID1~1000   1001~2000    2001~3000                 UserI...
SQL Serverのインデックス  で、断片化が進むと……。                            ユーザID2001~2100を参照するのに     UserID     2001~3000              あっち...
物理ディスクのデータ格納データベースの中で、断片化したデータを整理整頓するのがインデックスの再構築です。物理ディスク上に散らばっているデータを整理整頓する作業です。
インデックスの再構築は物理ディスク上に散らばっているデータを物理的に整理整頓する作業です。物理的に並べ替えているので、途中でキャンセルすると、元に戻します。       掃除をはじめて20分たったときに、       キャンセルすると     ...
テーブルが断片化すると?• データを参照するのに、       CPU負荷が増えます。       Disk I/Oが増えます。       参照時間が増えます。• データを更新するのに       Diskスペースを確保し、       デー...
データの断片化は……• データの更新、削除をしていけば  必ず断片化します。• データ量が増えれば、増えるほど、  断片化によるオーバヘッドが増えます。
インデックスの再構築は• 断片化率が高いほど、再構築に時間が  かかります。• データ量が多いほど、再構築に時間が  かかります。
ご利用は計画的に。DB性能に問題が無い段階でも、定期的に、断片化率の高いテーブルのインデックスを再構築しておくことで、トータルでのメンテ時間は短縮できます。
IndexView ツールの準備中。 再構築が必要なインデックスの選定、 再構築時の進捗確認 などが、 しやすいようにツールを作り始めてます。 http://sqlazure.jp/r/sql-server/260/
Upcoming SlideShare
Loading in …5
×

Sql serverインデックスの断片化と再構築の必要性について

13,551 views

Published on

Published in: Technology
  • If you need your papers to be written and if you are not that kind of person who likes to do researches and analyze something - you should definitely contact these guys! They are awesome ⇒⇒⇒WRITE-MY-PAPER.net ⇐⇐⇐
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Was a little hesitant about using ⇒⇒⇒WRITE-MY-PAPER.net ⇐⇐⇐ at first, but am very happy that I did. The writer was able to write my paper by the deadline and it was very well written. So guys don’t hesitate to use it.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • You can hardly find a student who enjoys writing a college papers. Among all the other tasks they get assigned in college, writing essays is one of the most difficult assignments. Fortunately for students, there are many offers nowadays which help to make this process easier. The best service which can help you is ⇒ www.HelpWriting.net ⇐
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Have you ever used the help of ⇒ www.WritePaper.info ⇐? They can help you with any type of writing - from personal statement to research paper. Due to this service you'll save your time and get an essay without plagiarism.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating direct: ❶❶❶ http://bit.ly/2ZDZFYj ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Sql serverインデックスの断片化と再構築の必要性について

  1. 1. SQL Server インデックスの仕組みと 断片化、 再構築の必要性について2012/02/14インフラグループ 大和屋貴仁
  2. 2. 細かいお話の前に……データベースのデータは、FusionIOなどの物理ディスクに書き込んで、保存します。
  3. 3. Chapter. 1物理ディスクのデータ格納のおさらい ざっくりとした説明をします。 概念レベルなので、 詳しい人にしたら、間違ってる箇所も。。。
  4. 4. 物理ディスクのデータ格納物理ディスクにデータを格納する時は、最初に部屋を確保します。どーんと、広いフロアから人を探すの大変ですよね? ↓まず、部屋を確保 ● Aさん→ ● ↑Aさん専用の部屋
  5. 5. 物理ディスクのデータ格納どーんと、広いフロアに部屋をたくさん作っていきます。 ● ←こんな感じで、新しいデータを いれる度に部屋を確保します。
  6. 6. 物理ディスクのデータ格納Aさんが太って、部屋におさまらない場合は?● ←はみ出しちゃう!!でも、はみ出したら迷惑。
  7. 7. 物理ディスクのデータ格納Aさんの部屋を大きくしてあげたら良いよね! ● ↑Aさんの部屋を大きくしてあげれば良い。
  8. 8. 物理ディスクのデータ格納部屋を並べ替えたら、Aさんの部屋も収納できるけど…… ● ←部屋を並べ替えてあげれば、 Aさんの部屋を確保できるけど…… Aさんだけの為に、わざわざ部屋並べ替えるの 手間だよね。
  9. 9. 物理ディスクのデータ格納Aさんを切り刻め!!
  10. 10. 物理ディスクのデータ格納切り刻んだAさんをあっちこっちにあるAさんの部屋に格納。
  11. 11. 物理ディスクのデータ格納え!?Aさんが必要!?まじか……。Aさん切り刻んでるから、まず集めなきゃ。 あっちこちにちらばっているAさんの部屋から Aさんだった残骸を集めて!
  12. 12. 物理ディスクのデータ格納集めたAさんをくっつけて、Aさん復活!。 ●
  13. 13. 物理ディスクのデータ格納ちなみに、もっとAさんがでっかくなったり、タイミングによっては…… Aさんの部屋が増えて、 あっちこっちに散らばって、 集めるのが大変!!
  14. 14. 物理ディスクのデータ格納どれぐらい散らばっているかを示すのが断片化率と言います。
  15. 15. 物理ディスクのデータ格納デフラグって聞いたことありません? こんな画面でやったデフラグ→
  16. 16. 物理ディスクのデータ格納デフラグって、切り刻んだAさんをくっつけて、1個の部屋を用意してあげること。 ● そう! 面倒だから、やらなかった 部屋の並べ替えですね。
  17. 17. Chapter. 2SQL Serverのインデックスの再構築 ざっくりとした説明をします。 概念レベルなので、 詳しい人にしたら、間違ってる箇所も。。。
  18. 18. もう一度言いますデータベースのデータは、FusionIOなどの物理ディスクに書き込んで、保存します。
  19. 19. 物理ディスクのデータ格納データはディスクに書き込むんだから、断片化とは無縁ではありません。
  20. 20. SQL Serverのインデックス B-Tree式です。 UserID UserID UserID 1~10000 10001~UserID UserID UserID UserID1~5000 5001~10000 10001~15000 15001~UserID UserID UserID1~1000 1001~2000 2001~3000 UserID UserID UserID 2001~2100 2101~2200 2201~2300
  21. 21. SQL Serverのインデックス インデックスとディスクが 関係しています。UserID UserID UserID1~1000 1001~2000 2001~3000 UserID UserID UserID 2001~2100 2101~2200 2201~2300 インデックスの下に物理ディスクがあります。
  22. 22. SQL Serverのインデックス で、断片化が進むと……。 ユーザID2001~2100を参照するのに UserID 2001~3000 あっちこちを見ないと、いけなくなる。UserID UserID UserID2001~2100 2101~2200 2201~2300
  23. 23. 物理ディスクのデータ格納データベースの中で、断片化したデータを整理整頓するのがインデックスの再構築です。物理ディスク上に散らばっているデータを整理整頓する作業です。
  24. 24. インデックスの再構築は物理ディスク上に散らばっているデータを物理的に整理整頓する作業です。物理的に並べ替えているので、途中でキャンセルすると、元に戻します。 掃除をはじめて20分たったときに、 キャンセルすると 掃除をやめるのではなく、 掃除を始める前の状態にもどします。 キャンセルすると20分とは言いませんが、 案外時間かかることもあります。
  25. 25. テーブルが断片化すると?• データを参照するのに、 CPU負荷が増えます。 Disk I/Oが増えます。 参照時間が増えます。• データを更新するのに Diskスペースを確保し、 データを切り刻むので、 CPU負荷が増えます。 Disk I/Oが増えます。 更新時間が増えます。
  26. 26. データの断片化は……• データの更新、削除をしていけば 必ず断片化します。• データ量が増えれば、増えるほど、 断片化によるオーバヘッドが増えます。
  27. 27. インデックスの再構築は• 断片化率が高いほど、再構築に時間が かかります。• データ量が多いほど、再構築に時間が かかります。
  28. 28. ご利用は計画的に。DB性能に問題が無い段階でも、定期的に、断片化率の高いテーブルのインデックスを再構築しておくことで、トータルでのメンテ時間は短縮できます。
  29. 29. IndexView ツールの準備中。 再構築が必要なインデックスの選定、 再構築時の進捗確認 などが、 しやすいようにツールを作り始めてます。 http://sqlazure.jp/r/sql-server/260/

×