/ システムソリューション部
システム開発ブログ
最近の記事
- システム診断サービス
- Access2003とAccess2007は共存してはいけない
- いまさら気付いたこんなExcelショートカットキー その2
- 郵便番号データを定期的に更新するサンプル(Linux & MySQL)
- MySQLでテーブルの修復を行う
- Google Mapを画像にして貼りつけられるAPI
- ADO接続文字列で、PROVIDER=SQLNCLIを使用する
- タスクスケジューラを設定する時の注意点
- いまさら気付いたこんなExcelショートカットキー
- MTコンテスト2010 9/9まで応募受付中
カテゴリー
- Access (5)
- Android (2)
- Excel (1)
- Google Apps (1)
- JAVA (6)
- Linux (5)
- Movable Type (13)
- MySQL (3)
- PHP (10)
- VBA (7)
- Webサイト構築・Web戦略 (15)
- Webサイト構築事例 (1)
- Windows (4)
- .NET (6)
- iPhone (2)
- twitter (5)
- その他 (16)
- アクセス解析 (2)
- システム設計 (1)
- システム開発事例 (2)
- システム開発体制 (1)
- セキュリティ (5)
- データベース (20)
- プロジェクト管理 (3)
- 品質管理・テスト (1)
- 帳票 (2)
- 技術活用 (4)
部署
月別アーカイブ
- 2010年9月 (7)
- 2010年8月 (18)
- 2010年7月 (21)
- 2010年6月 (22)
- 2010年5月 (15)
- 2010年4月 (12)
- 2010年3月 (13)
- 2010年2月 (9)
- 2010年1月 (12)
- 2009年12月 (7)
- 2009年11月 (6)
- 2009年10月 (8)
- 2009年9月 (7)
- 2009年8月 (3)
- 2009年7月 (1)
- 2009年6月 (3)
- 2009年5月 (1)
- 2009年4月 (1)
- 2009年3月 (8)
- 2009年2月 (10)
- 2009年1月 (1)
- 2008年12月 (1)






システムソリューション部 / データベース
以下のプロシージャを実行することによって手動で統計情報を更新することができます。
デフォルトでは1日1回しか更新されないので、大量データを投入後などにすぐにSQL文を実行しても、 インデックスがうまく使われなかったり、逆に全表走査の方が早い場合でもインデックスが使われてしまったりします。
そういった場合には手動で統計情報を更新する必要があります。
統計情報がいつ収集されたかは、以下のSQL文で確認することができます。
SELECT TABLE_NAME NAME , LAST_ANALYZED FROM USER_TABLES WHERE TABLE_NAME = 'テーブル名' UNION ALL SELECT INDEX_NAME , LAST_ANALYZED FROM USER_INDEXES WHERE INDEX_NAME = 'インデックス名'LAST_ANALYZEDが統計情報が収集された日付です。
ちなみに、前回の収集時点からテーブルのデータが10%以上更新されないと、統計情報は再収集されないようです。
デフォルトでは統計情報は自動で収集されると書きましたが、
初期化パラメータ「STATISTICS_LEVEL」が「TYPICAL」または「ALL」の場合に、自動で統計情報が収集されます。
以下のコマンドでパラメータの確認が出来ます。
以下のSQLでもパラメータの確認ができます。
SELECT NAME , VALUE FROM V$PARAMETER WHERE NAME = 'statistics_level'他社のシステムも直します。資産を活かしてシステムリフォーム