![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
> 先に統計情報を取得してからインデックス(プライマリキー設定も含む)を
> 作成すれば、インデックスの統計情報が取得されないことになってしまいます。
これは誤りでした。表の統計情報が存在していれば索引作成時には
索引の統計情報が自動的に取得されるようです。
明示的に取得することが望ましいことには変わりありませんが。
No.3
- 回答日時:
先に統計情報を取得してからインデックス(プライマリキー設定も含む)を
作成すれば、インデックスの統計情報が取得されないことになってしまいます。
それは意図することではないでしょうから、
1. プライマリキーとインテックスの作成
2. アナライズ(統計情報の取得)
が良いのではないでしょうか。
No.2
- 回答日時:
あえて順番をと言うなら、
・プライマリーキーの作成(本来、テーブルを作成した時にセットで作成すべきもの。何がプライマリーキーになるかは、テーブル設計をした段階で必然的に決まっているはず。普通は、create table文のprimary key句は、オプションでなく必須と思った方が良いくらいです。)
・データの投入。
・アナライズ(この結果で、どのフィールドに追加インデックスをつけるかを分析・決定する。)
・インデックスの作成
・定期的なアナライズ(これは、オプティマイザーのための統計情報更新です。)
でしょうか。これより更に前の業務分析がきっちり出来ていれば、テーブル設計とセットである程度のインデックス構成は浮かび上がっているものですけどね。その場合は、ある程度のインデックス生成はテーブル生成とセットでしょうね。
特に、ユニークインデックスに関しては、効率化よりも、制約として重要です。その筆頭がプライマリーキーで、これが決定されていないと、外部制約などがくめなくなってしまいます。当然ですが、制約は、データを投入する前に決定と設定がなされている必要があります。(制約が一番仕事をするのはデータの投入時ですからね。後で制約をつけた時にデータエラーを指摘されるより、データ投入時に見つけてもらった方が良いに決まってますから。)
No.1
- 回答日時:
通常は、事前にデータ分析して検索条件、データの偏り、カーディナリティを調べてから
・プライマリキーとインテックスの作成
・アナライズ(統計情報の取得)
だと思います。
どのインデックス使うのが有効かなどを統計情報から得るのがアナライズの目的ですから。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Visual Basic(VBA) エクセルVBA 2 2022/04/27 13:29
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- その他(プログラミング・Web制作) python 3.10で 同じlistに同じ構文で同じデータ代入した結果が異なる現象発生 7 2022/06/18 11:08
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
インデックス作成後アナライズは必要か?
Oracle
-
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
索引の再構築をすべき?
Oracle
-
-
4
Data Pump で大量データインポートの際のUNDO表領域、TEMP表領域不足エラー解消法のついて
Oracle
-
5
ORCLEでの小数の表示方法の変更について
その他(データベース)
-
6
PL/SQLで@ファイル名が反応しません
Oracle
-
7
Oracleのview、synonymをCOMPILEするとはどういうことでしょうか
Oracle
-
8
表領域 TEMPの使用率。
Oracle
-
9
Oracle Databaseのインデックスを(意図的に)断片化させたい
Oracle
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Viewにインデックスは張れ...
-
文字列中のスペースを排除する...
-
アナライズとインデックス作成...
-
可変個数のデータはどう納める?
-
INDEXの無効化
-
インデックス作成後アナライズ...
-
【ANALYZE】 テーブル・インデ...
-
データを削除しても表領域の使...
-
CLOB型へのINSERT
-
SQLでスキーマ名(所有者名)の...
-
datapumpの実行方法について
-
Data Pump で大量データインポ...
-
特定のスキーマのテーブルを一...
-
Access レコードを追加できませ...
-
postgreSQLのint型は桁数指定が...
-
エクセルからアクセスにインポ...
-
ACCESS 複数テーブル・複数フィ...
-
viewのバックアップ
-
DELETE文でFROM句を省略した場合
-
テーブルからのselectにおいて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Viewにインデックスは張れ...
-
INDEXの無効化
-
SQL*Loaderで、データを加工し...
-
可変個数のデータはどう納める?
-
アナライズとインデックス作成...
-
主キー以外の項目にNotNull制約...
-
論理読み込みブロック数とは?
-
テスト環境と本番環境で、DBか...
-
文字列中のスペースを排除する...
-
インデックス作成後アナライズ...
-
索引の再構築をすべき?
-
Wordで複数の索引を作りたい
-
Oracle Databaseのインデックス...
-
統計情報について
-
SQLのIN句について
-
SQL*LoaderとInsertの違いについて
-
OracleTextの索引再構築について
-
目的のインデックスが使用され...
-
blevel=3のデータ作成
-
オラクル クラサバ環境で動作...
おすすめ情報