Standard Editionでのテーブル登録高速化について、ご教授願います。

このQ&Aのポイント
  • Standard Editionでのテーブル登録を高速化するための方法について質問しています。
  • 現在、テーブル登録のパフォーマンスが低下しており、パーティション分割が使えないため他の対策を探しています。
  • Standard Editionでのテーブル登録高速化について、お知恵をいただけると幸いです。
回答を見る
  • ベストアンサー

Standard Editionでのテーブル登録高速化について、ご教授願います。

初めまして。お世話になります。 質問はタイトルの通りです。 テーブル登録の高速化に関するアドバイスをご教授願います。 ただし、StandardEditionだとパーティション分割が 使えないようなので、 それ以外の方法を教えて頂けると助かります。 まず、システム環境を以下に記載します。 ---------------------------------------------------------- 機種: Dell Precision T3400 Intel(R) Core(TM)2 Extreme OS: Microsoft Windows XP Professional Version 2002 SP2 CPU :2.99GHz メモリ :3.25GB 使用言語:LabVIEW 8.5.1 DB: Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Standard Edition on Windows NT 5.1 (Build 2600: Service Pack 2) ---------------------------------------------------------- 現在、試験的に20秒おきに登録を行っています。 1度に登録するサイズは以下の通りです。 テーブルA(サイズ:15.6KB) * 350件 = 5,460KB テーブルB(サイズ:0.2KB) * 500件 = 100KB 1レコードの登録に時間がかかるため、 その後に控える登録待ちのデータがどんどん実行タスクに溜まっていきます。 そのため、それに比例してメモリの負荷も重たくなってしまうのです。 パーティション分割をしようと試みもしました。 しかし、下記メッセージが表示され、実行出来ませんでした。 >パーティション関数は、SQL Server Enterprise Edition だけで作成できます。 >パーティション分割がサポートされるのは、SQL Server Enterprise Eidtion だけです。 StandardEditionでの有効な対策が他に見つからなかったので、 こちらに質問させて頂きました。 何卒、ご回答の程宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

パーティション分割ができない以上、テーブルAとテーブルBを別のファイルグループに割当てるくらいしかデータベースとしてやれることはないように思います。 そもそも更新スキームが質問からは読み取れないので(Webサーバから20秒に350トランザクションのリクエストが飛んでくるのか、サービスブローカを使っているのか、短い間隔でのバルク処理なのか等)、それ以上は何とも言えないのですが、クエリのチューニング(インデックス、ロック、コンパイル、tempdb)を考えるのが先ではないでしょうか。 上位エディションも導入できず、ハードも変更できず、クエリのチューニングも限界、となるとそのパフォーマンスを出すという設計の問題になりそうですけどね。

ogutiboya
質問者

お礼

ご回答頂き、ありがとうございます。 その後、自己解決しましたのでご報告申し上げます。 結論として、原因はデータベース登録と無関係な場所にありました。 データ登録後、メモリの解放を行っていたのが 処理に時間のかかる原因でした。 丁寧な解説を頂いておきながら、申し訳ありません。

関連するQ&A

  • デベロッパーエディションの制約を教えて下さい

    Microsoft SQL Server Developer Edition 2005 について教えて頂きたいのですが、このエディションは機能的にエンタープライズエディションと同等と記述があるのですが、制約はどのような事になるのでしょうか?開発目的に使用する事が前提、とはありますが具体的な「これは出来ない」といった事を知りたいと思っています。よろしくお願いします。

  • VBでフォームを作ってSQLServer2000にデータ登録したい。

    VBでフォームを作ってSQLServer2000にデータ登録したい。 の、ですが、可能でしょうか?ついでに詳しいやり方、 SQL SERVER2000のパーソナルエディション。 http://www.microsoft.com/japan/sql/enterprise/feautures.asp の値段も教えていただければうれしいのですが。 よろしくおねがいします。

  • エディション変更について

    お世話になります。 SQLServer2008のエディションのアップグレードにつきましてご存知でしたら教えてください。 例えばWorkgroupからEnterpriseへエディションのアップグレードを行いたい場合、インストール媒体をいれると「SQL Server インストール センター」が表示され「エディションのアップグレード」を実行するだけで、Workgroupで使用していたDB情報はEnterpriseへ移行され、Enterpriseの機能(ミラーやssis等)は全て使用できるのでしょうか? それともエディション変更後、再度Enterpriseの媒体から必要な機能を追加していかなければならないのでしょうか? MSサイトにはエディションのアップグレード方法しか記述されていなく詳細がわかりませんでした。 (まだ媒体もなく試せませんでした) また注意事項等ございましたらあわせてご教授ください。 よろしくお願いいたします。

  • テーブル生成スクリプトの実行方法

    SQL Server2000で、 テーブル生成スクリプトの実行方法を教えてください。 Enterprise ManagerからGUIで実行できますか? ジョブステップで実行しようとしたら、SQL文が長すぎて収まりませんでした。 よろしくお願いします。

  • 新しいテーブルを作るには?

    先の質問でSQL Server を使おうと決心し Microsoft SQL Server 2005 Express with Advanced Services を win2000にインストールしました 色々なページを見ながら 正常にインストールできたようなのですが 試しに何かデータベースを作ってみようと思ったのですが アクセスで言うテーブルデザインを作っていくのはどこでどうやるのか 分からず、色々調べたら SQL Server Enterprise Manager と言う物が必要のようで インストールされた中を探しても見あたりません・・・。 これはどこで入手するのでしょうか? インストールの手順でも間違ってしまったでしょうか? もしくはsp1にバージョンアップするべきなのか・・ 色々検索してみたけれど 新規テーブル(データベース)の作成は どうやってやるのかよく分かりません 上記ソフトもそうなんですが わかりやすく解説したページなどあるようでしたら教えてください。 よろしくお願いします。

  • SQL Server 2005 Express Edition

    こんにちは SQL Server 2005 Express Editionについて質問なのですが 無償版との事ですが SQL Server 2005 Enterprise Edition と比べるとどんな制限があるのでしょうか? ご存知の方、ご回答いただけましたら、幸いです。

  • MS_SQLでテーブルの更新日を知りたい

    Microsoft SQL Server 7.0 についての質問なのですが、テーブルの更新日を知るにはどうしたら良いでしょうか? Enterprise Manager でテーブルを参照すると、作成日は掲載されてますが更新日は表示されていません。Access2000からADOでSQL Serverに接続し、テーブルの最終更新日を得る方法がありましたら教えて下さい。 どうぞ宜しくお願い致します。

  • SQLサーバーのテーブルに対してアクセスで更新クエリを行ないたい

    こんばんは。 ・vista ・アクセス2003 ・SQL Server 2005 です。 SQL ServerからテーブルをMDBへリンクしているのですが そのテーブルに対し、アクセス側で更新クエリを実行しようとすると 実行時エラー '3157': ODBC--リンク テーブル'テーブル名'での更新に失敗しました。 [Microsoft][ODBC SQL Server Driver]時間切れになりました。(#0) と言うエラーになり、更新クエリができません。 どうすればアクセスでSQLサーバーのテーブルに対して更新クエリを行えるのでしょうか? よろしくお願いします。

  • Compact Edition でテーブルの存在チェック

    Visual Studio 2005 (VB) から、 SQL Server 2005 Compact Edition に対し、 テーブルの存在チェックを行いたいのですが、 SQL文の書き方がわかりません。 Compact Edition 以外のSQL Server でしたら、 以下のような SQL でチェックできる事は知っております。 IF object_id('Northwind..Orders', 'U') IS NOT NULL PRINT N'存在します' ELSE PRINT N'存在しません' 例外にて判断する方法は、最後の手段と考えております。 ご存じの方、どうぞ宜しくお願いします。

  • SQLServer2005 SP3 インストール失敗

    Windows XP SP3 のパソコンに Visual Studio 2005 Professional Editionをインストールしました。 そのときVisual StudioについてきたSQL Server Developer Editionも同時に インストールしました。 こないだMicrosoftUpdateを行ったのですが、 Microsoft SQL Server 2005 Express Edition Service Pack 3(KB955706) のアップデートでエラー(エラー番号2BC9)になりアップデートに失敗します。 ネットで調べ Microsoft SQL Server 2005 Service Pack 3 (Express EditionではないSP3)をインストールするとよいと 書いてあったので実行したところ、インストールは完了したのですが、 そのあとまたMicrosoftUpdateを実行すると、更新プログラムにはいまだ Microsoft SQL Server 2005 Express Edition Service Pack 3(KB955706) が表示され、実行するとエラーになります。 いまは、↓の2つの疑問があります。 1.Developer EditionでもSP3はExpress Editionのバージョンをインストールするのか? (SP3をインストールするにはどのバージョンをインストールすればよい?) 2.SQL Server 2005 Developer Editionでのバージョン確認方法 どちらかでもよいのでわかるかたおしえてください