
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も見ています
-
インデックス作成後アナライズは必要か?
Oracle
-
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
Data Pump で大量データインポートの際のUNDO表領域、TEMP表領域不足エラー解消法のついて
Oracle
-
-
4
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
5
データがある場合のカラムの削除
Oracle
-
6
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
7
Excelに、ダブルクォーテーションで始まる文字列を貼り付けると、ダブルクォーテーションが消えること
Excel(エクセル)
-
8
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
9
突然オラクルへ接続できなくなりました
Oracle
-
10
データを削除しても表領域の使用率が減りません
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイルで複数フォルダ...
-
Oracle で文字列からタイムスリ...
-
Object Browser相関タブの見方...
-
SQLについての質問
-
SQLについて教えて下さい。 主...
-
SQLで今日の日付でWhereしたい
-
秋葉原でWindowsを買ったのです...
-
オラクル12C_SQLPlusで実行す...
-
sqlで質問です。 Aテーブルは店...
-
SQLの中上級者へのレベルアップ...
-
SELECTによる表の変換方法を教...
-
開発対象となるアプリケーショ...
-
質問です。 下記のテーブルとデ...
-
Oracleですがsqlで質問です。 ...
-
sqlで質問です。 Aテーブルの登...
-
sqlで質問です。 Aテーブルの情...
-
SQLの書き方について
-
sqlで質問です。 idを元にidに...
-
oracleで 10,20, 30, というデ...
-
索引作成について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
副問合せにLIKE文を使う方法は...
-
データベースのカラムの型がCHA...
-
バッチファイルで複数フォルダ...
-
batファイルでのSQL(oracle)...
-
64bit端末でのOLEDB接続に関して
-
10営業日前の日付を取得したい...
-
osqleditについて
-
update文で質問です。 下記の条...
-
orace SQL文のエラー(ORA-0092...
-
テーブルやカラムの物理名のネ...
-
オラクル12C_SQLPlusで実行す...
-
videopad 無料版 アンインストール
-
SQLの中上級者へのレベルアップ...
-
続.ORACLEのSELECTのソートに...
-
ワークテーブルって何?
-
oracleの直接接続のクライアン...
-
ORA-14452について
-
SQL ブレーク処理について
-
Oracleですがsqlで質問です。 ...
-
oracleで 10,20, 30, というデ...
おすすめ情報