問題タブ [sqlperformance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
8001 参照

sql - データを同じファイル グループ内の他のファイルに移行することによる空のファイルのパフォーマンスへの影響

現在、15000 RPM ドライブ上にある単なるログ データベースであるデータベースがあり、それを 10000 RPM ドライブに移動したいと考えています。データベースを簡単にデタッチし、ファイルを移動して再アタッチできますが、回避しようとしているマイナーな停止が発生する可能性があります。

そこで、使用を検討していDBCC ShrinkFile with EMPTYFILEます。15000 RPM ドライブ上の既存のファイルよりもわずかに大きいデータとトランザクション ファイルを 10000 RPM ドライブ上に作成し、 を実行しDBCC ShrinkFile with EMPTYFILEてデータを移行します。

それはどのような影響を与えるでしょうか?

0 投票する
8 に答える
57501 参照

sql-server - SQL ServerSELECTINTOおよび一時テーブルによるブロック

そのため、最近DBAは、次の構文を使用できないことを通知しようとしています。

この構文により、ストアドプロシージャの実行中、TempDBがロックされるため、環境内に一時テーブルを作成します。今、私は一時テーブルがどのように機能するか、実行の範囲、クリーンアップなどを詳述する多くのことを見つけました。しかし、私の人生では、それらを使用しているため、ブロックについては何もわかりません。

すべての一時テーブルに対してCREATETABLE#MyTable ...を実行する必要がないという証拠を見つけようとしていますが、どちらの側も証拠を見つけることができません。私はSOの人々が持っている洞察を探しています。

追加情報

現在SQLServer2005を使用しており、まもなくSQL Server 2008(Enterpriseエディション)になります

0 投票する
4 に答える
42948 参照

sql - Oracleでクエリのパフォーマンスを測定する方法

私はOracle dbが初めてです。同じ結果セットを返す 2 つのクエリがあります。それぞれの性能を測定し、より良いものを選択したいと考えています。Oracle SQL開発者を使用してそれを行うにはどうすればよいですか? 特定のツールが統計を提供することを読んだことを覚えています。これらの統計の読み方に関する指針はありますか?

更新: Rob Van の提案に従って、tkprof ユーティリティを使用してクエリのパフォーマンスを調べました。いくつかのパラメーター (カウント、行、経過時間、実行時間) は理解できましたが、ほとんどのパラメーターは理解できませんでした。これらのパラメータの重要性について誰か助けてもらえますか? 以下は結果です。

クエリ 2 がクエリ 1 よりも優れていると判断できます。ディスク、クエリ、および現在のパラメーターの意味について何かヘルプはありますか??

0 投票する
8 に答える
84107 参照

sql - データベース/SQL: 経度/緯度データを保存する方法は?

パフォーマンスの問題...

地理位置情報データ (経度と緯度) を持つ家屋のデータベースがあります。

私がやりたいことは、InnoDB データベース エンジンを使用して MySQL (v5.0.24a) に位置データを格納する最良の方法を見つけて、間にあるすべてのホーム レコードを返す多くのクエリを実行できるようにすることです。 x1 と x2latitudeと y1 と y2 longitude.

現在、私のデータベーススキーマは

そして、私のクエリは次のとおりです。

  • 上記で説明したことは、緯度と経度のデータを Float (10,6) を使用して MySQL に保存し、経度/緯度を分離する最良の方法ですか? そうでない場合、何ですか?データ型として、Float、Decimal、さらには Spatial が存在します。
  • これは、パフォーマンスの観点から SQL を実行する最良の方法ですか? そうでない場合、何ですか?
  • 別の MySQL データベース エンジンを使用する意味はありますか?

更新: まだ回答がありません

以下に3つの異なる答えがあります。一人が使うと言うFloat。ある人は を使うと言いますINT。ある人は を使うと言いますSpatial

というわけで、MySQLの「EXPLAIN」ステートメントを使ってSQLの実行速度を計測してみました。経度と緯度のデータ型を使用してINTも、使用しても、SQL の実行 (結果セットのフェッチ) にまったく違いはないようです。FLOAT

また、" " ステートメントを使用すると、" " または " " SQL ステートメントBETWEENを使用するよりも大幅に高速になるようです。" " と " " ステートメントを使用するよりも、" " を使用する方が約 3 倍高速です。><BETWEEN><

そうは言っても、Spatial を使用した場合のパフォーマンスへの影響についてはまだ不明です。これは、実行中の MySQL のバージョン (v5.0.24) でサポートされているかどうか、またサポートされている場合に有効にする方法が不明であるためです。 .

どんな助けでも大歓迎です

0 投票する
3 に答える
3815 参照

sql-server - SQL接続を数回開いたり閉じたりするのはどれほど悪いですか? 正確な効果は何ですか?

たとえば、SQLDataAdapter の Fill() メソッドで多数の DataTable を埋める必要があります。

すべての dataadapter オブジェクトが同じ SQLConnection を使用していても、メソッド呼び出しの前に接続状態が既に開いていない限り、各 Fill メソッドは接続を開いたり閉じたりします。

私が知りたいのは、SQLConnections を不必要に開いたり閉じたりすると、アプリケーションのパフォーマンスにどのような影響があるかということです。この問題の悪影響 (100,000 の同時ユーザー?) を確認するには、どの程度の規模にする必要がありますか? 中規模の Web サイト (毎日 50000 人のユーザー) では、すべての Fill() 呼び出しをわざわざ探して検索し、それらをコード内にまとめて、Fill() 呼び出しの前に接続を開き、後で閉じることに価値がありますか?

0 投票する
3 に答える
79 参照

sql-server-2005 - SQL 2005 DB セットアップの推奨方法

6 x 320 GB ディスクを備えた win 2003 (64 ビット) サーバー ボックスを入手し、mssql 2005 (64 ビット標準) をインストールする予定です。以下の設定を考えています。

  • ディスク 1 と 2 は RAID 1 を実行し、OS 用に C:\ (~50GB) とすべての .ldf ファイル用に D:\ (~250GB) に分割します。
  • ディスク 3 から 6 は Raid 0 を実行し、.mdf ファイル用に E:\ (~700GB) に分割し、バックアップなどの実行用に F:\ (~200GB) に分割します。

これは最適でしょうか?

tempdb を残りの .mdf および .ldf ファイルと同様に扱うべきか、F:\ にシフトアウトするべきか迷っています。

また、ファイルグループについてグーグルで検索し、少し混乱しました。インデックスを別のファイルグループにシフトアウトし、パーティション分割を使用することを推奨する人もいました。ハードウェアはディスク3から6を「1つの物理ディスク」に結合し、SQLは同時読み取りから得られないため、これは役に立ちますか?

0 投票する
1 に答える
1697 参照

sql-server - SQL実行計画のネストされたループ.

私が持っているクエリの実行計画でネストされたループを削除しようとしています(mssql 2005)。次の表があります。

TxnID bigint CustID bigint col1 varchar(4) col2 varchar(4) col3 varchar(4) TxnCurrency char(3) TxnAmt money TxnDate datetime

TxnID は主キーであり、CustID、TxnDate にはクラスター化されていないインデックスがあります

ネストされたループを解決するには、インクルード列を含む別のインデックスを作成する必要がありますか?

0 投票する
2 に答える
4154 参照

sql-server-2008 - SQL Serverデータベースのパフォーマンスを測定するために人々はどのようなツールを使用していますか?

SQL Server 2008に組み込まれている管理データウェアハウス機能の使用から、Confio Ignite 8などの他の商用製品、そしてもちろん独自のソリューションのローリングまで、SQLServerの状態を監視するためのさまざまな手法を試しました。 perfmon、パフォーマンスカウンター、および動的管理ビューと機能からのさまざまな情報の収集。

私が見つけたのは、これらのアプローチにはそれぞれ長所がありますが、短所もあります。組織内の人々にSQLServerのパフォーマンスの監視を真剣に受け止めさせるには、展開するソリューションが非常にシンプルで迅速に使用でき、何らかの形のダッシュボードを提供し、監視の動作を最小限に抑える必要があると感じています。本番データベースへの影響(そしておそらくさらに重要なことに、これが事実であることを証明できる必要があります)。

だから私は他の人がこのタスクに何を使っているのか聞きたいですか?何かお勧めはありますか?

0 投票する
3 に答える
155 参照

sql - TSQL コードの最適化

私の仕事は、SQL サーバー (MSSQL2005) を多用する 1 つのアプリケーションを保守することです。
これまで、中間サーバーは TSQL コードを XML に格納し、ストアド プロシージャを使用せずに動的 TSQL クエリを送信していました。
これらの XML クエリを変更できるので、ほとんどのクエリをストアド プロシージャに移行したいと考えています。
質問は次のとおりです。

私のクエリのほとんどは、1 つのテーブルに対して同じ Where 条件を持っています

サンプル:

他のテーブルにも同じ場所条件があります。

コードをどのように整理すればよいですか?
適切な方法は何ですか?
すべてのクエリで使用するテーブル値関数を作成する
か、#Temp テーブルを使用して、プロシージャを実行するたびにクエリを単純な内部結合にする必要がありますか? または、テーブル値関数によってファイルされた #temp を使用しますか?
または、すべてのクエリにこの大きな where 句を残して、インデックスが機能することを期待します。
またはWITH(ステートメント)を使用します

0 投票する
2 に答える
446 参照

java - java経由で実行するとSQLの実行が遅くなる

Oracle db でクエリを実行しようとしています。SQLTools を介して実行しようとすると、クエリは 2 秒で実行され、JAVA を介して同じクエリを実行すると、1 分以上実行されます。

ヒントを使っています/*+ordered use_nl (a, b)*/

ojdbc6.jar を使用していますが、JARS が原因ですか? これを引き起こしている原因を教えてください。