maniacpa2のプロフィール
- ベストアンサー数
- 2
- ベストアンサー率
- 100%
- お礼率
- 0%
- 登録日2007/08/24
- マルチコアを使ってくれない
4コアのCPUですが、CPUのうち1つだけが使用率100%で、他のCPUを使ってくれず困っています。 対処法が解る方、助言をお願いします。 @環境 Linux version 3.2.12-gentoo Intel(R) Core(TM) i5-2400S CPU @ 2.50GHz postgresql-server-9.1.3
- ベストアンサー
- PostgreSQL
- shiren2
- 回答数1
- テーブル定義書作成時のIndex付加について
基礎的なことで申し訳ございませんが、 お力添えよろしくお願いいたします。 CentOs 5 & PostgreSQL 8.4.9にてDB構築しております。 DB構築から、テーブル作成・項目追加・キー設定まで行いまして、 検索する際に、抽出件数が多く負荷のかかりそうなものに Indexを作成しようと考えております。 ■本題 1.Indexを作成する対象となる項目の、目安としてどのようなものが考えられるでしょうか。 ・キー対象の項目になっているもの ・検索条件の対象となる項目なども当たるでしょうか 2.項目をまとめて一つのIndexにするメリット・デメリットはどのようなものでしょうか 3.テーブル結合したときのIndexの動作 例) 下記のようなテーブルがあった場合 tablea(データ50000件程度) hoge_id pkey1 hoge_no hoge_nm ... tableb(データ150000件程度) test_id pkey1 hoge_id pkey2 hoge_betu_kb ... select t1.hoge_id, t1.hoge_nm, t2.hoge_betu_kb rom tablea as t1 leftjoin tableb as t2 on t1.hoge_id = t2.hoge_id where t1.hoge_id > '100' and t1.hoge_nm like 'あいう%' このような場合のIndex作成は、 A. Create index idx_tablea_hoge_id ON tablea (hoge_id); B. Create index idx_tablea_hoge_id ON tablea (hoge_nm); C. Create index idx_tableb_hoge_id ON tableb (hoge_id); ←tableaで指定しているのでこれは不要? 4.A.B.C.のようなIndex作成した際のテーブル定義の書き方 テーブル定義書のフォーマットは定められており、お門違いな質問かとは存じてはおりますが、 テーブル定義にIndex定義を書く場合に、添付した画像のようなフォーマットの書き方が よく理解できずお気づきの点などございましたら、ご指摘願えたら助かります。 (以前は、CSEツールなどで自動出力される定義書のような書き方をしていたもので・・・) 例)tablea IDX1 IDX2 IDX3 hoge_id 1 hoge_nm 2 このような書き方になるのかどうか? IDX2, IDX3の項目とは?どのようなIndex定義をした際に書き込むことになるのかが判らず。。。 基礎から勉強しなおすべきとは存じておりますが。。。 現状の期間あまり時間がないことと、 DB構築を一人で行っており、このような内容を相談できるものがおりませんゆえ、 改めて、Index付加することを考えてみると、いまさら聞けないような内容かもしれませんが ちゃんと把握したうえで、テーブル構築したいと思いますので 今までの他の皆様の経験からのノウハウなども踏まえて、 ご教授いただけると大変助かります。
- ベストアンサー
- PostgreSQL
- -0-y
- 回答数1