問題タブ [database-performance]

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 投票する
1 に答える
329 参照

c# - Entity Framework 4.1およびデータベース(MySQL)のパフォーマンスの問題{テーブルに320000行が含まれている場合に最初のレコードを返すようにクエリを高速化する方法}

こんにちは私はMySQLConnector/Net6.3.5とEntityFramework4.1を使用しています。

DBには、約320000行のテーブルがあり、列ごとに単純なクエリを実行します。

パフォーマンスに少し問題があります。クエリをどのように高速化するか、いくつかの手法や方法がありますか?

クエリのタイムアウトは約6.3秒で、サーバーはローカルではありません。

これが私が使用する方法です:

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

mysql - SQL パフォーマンス: どちらが速いですか? IN() と JOIN

これは、私が決定的な答えを得たことのない質問です。この例では MySQL を使用しています。

かなり大きな値のセットが与えられた場合 (500 としましょう)。IN() 句でこれらの値を使用してテーブルを検索する方が速いですか?

または、メモリ内に一時テーブルを作成し、それに値を入力して、検索対象のテーブルに結合します。

どちらの方法でも同じ結果セットが生成されます。

独自の基本的なベンチマーク テストをいくつか行ったところ、500 を超える値を処理する場合、IN() 句よりも一時テーブルを使用する方が速くなることがわかりました。

誰かが MySQL の内部の仕組みと、この質問に対する適切な答えを説明できますか?

ありがとう、レオ

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

mysql - mysqlチューニング変数-現在およびデフォルト

私はかなりバニラのmysql5.1セットアップを持っており、それを調整しようとしています。この便利なスクリプトを見つけました

それは次の提案をしました:

これらが何を意味し、現在何に設定されているかを読んで、「mysqladmin変数」を実行できることがわかりました。

私の現在の値は次のとおりです。

これらをどのように読むのですか、キロバイトですか?それで、1M、16M、13M、8Mですか?

私のボックスはたった4GのRAMで、通常の日には数百メガのメモリしかありませんでした。私はこれらの提案に従い、次のことを行う必要があります。

15Gに混乱していますが、これはメモリの問題ではなく、ディスクスペースの問題ですか?もしそうなら、推奨事項はあまり良くありませんよね?

ボックスのメモリを増やす必要がありますか?

詳細:-私のデータベースサイズは34Gigで、すべてのinnodbを使用しています。71個のテーブルがあり、そのうち4つは巨大で、残りは小さいです。大きなものをSOLRに移動し、そこからすべてのクエリを実行することを考えていましたが、基本的なチューニングで何ができるかを確認したいと思いました。

ありがとうジョエル

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

.net - どのNHibernate/SQLの「存在する」クエリがより効率的ですか(そしてどのように知るか)?

以下のスニペットに対してNHibernateが生成するSQLクエリのプロファイリングを行っています。コード#1の方が効率的だと思いますが、生成されたSQLには疑問があります。

1)bool any = Query.Where(user => user.Id == 1).Any();生成:

2)bool any = Query.Where(user => user.Id == 1).Count() > 1;生成:

どちらがより効率的ですか?将来、これをどのように判断しますか?Oracleを使用しています。

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

sql - T-SQL、スケジュールされたジョブでの複数の更新

スケジュールされたジョブとして使用するクエリを開発しています。簡単に言うと、テーブルに対していくつかの特定の計算を行い、計算結果に従っていくつかの列 (STATE など) を更新します。

サンプル (現在の状態) は、次のように示すことができます。



上記で実証しようとしたのは、クエリの流れです。上に見られるように、私は単一のテーブルを複数回更新しています。ほとんどの場合、異なる条件に応じて異なる値を持つ単一の状態列を設定しています。

また、条件に応じて小さなグループでこのテーブルのデータを更新する必要があったため、(パフォーマンスが低いため) カーソルの代わりに while ループを使用する必要がありました。

すべてのクエリがトランザクションと try-catch ブロックにラップされていると仮定します。

最後に、私の質問は次のとおりです。これは夜間に実行されるスケジュールされたジョブになるため、パフォーマンスは私にとって最優先事項ではありません。ただし、もう少しクリーンで効率的な (パフォーマンス面での) クエリを使用して同じ操作を行う方法を理解できませんでした。アドバイスが必要です。{some condition} 領域は、EXISTS 機能を持つサブクエリを保持することに注意してください。したがって、元のコードはこれよりもはるかに乱雑に見えます。前もって感謝します。――オザン

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

database - 複数のスキーマと巨大なテーブル

携帯電話にインストールしたアプリを保存するテーブル、監査の詳細、通知情報など、すべてのユーザーの情報を含むモバイル デバイス マネージャー システムを検討してください。対応するテーブルを使用して、ユーザーごとに個別のスキーマを作成するのが賢明ですか。 ? 1 人のユーザーの場合、テーブルの数は多く、それぞれ約 30 個のテーブルになります。このすべての情報がこれらのテーブルに配置される別のスキーマを持つ方がよいでしょうか (巨大なテーブルを作成しますか?)、それともユーザーごとにスキーマを持つ方がよいでしょうか?

前もって感謝します

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

sql - これら 2 つのクエリのパフォーマンスに違いはありますか?

1)

2)

これらのクエリの結果が同じであることはわかっています。性能差はありますか?もしそうなら、その理由を説明してください。

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

python - ファイルシステム追跡のための最もパフォーマンスの高い無料データベース

私は、Python用のpyinotifyモジュール(実際には、ジョブを実行する背後にあるLinuxカーネル)を使用してLinuxファイルシステム(任意のタイプである可能性があります)を追跡しています。多くのディレクトリ/フォルダ/ファイル(ユーザーが望む限り)が私のアプリケーションで追跡されています。今度は、各ファイルのmd5sumを追跡して、データベースに保存したいと思います(すべての移動、名前変更、新しいファイルなどを含む) 。

データベースは、各ファイルのすべてのmd5sumを格納するための最良のオプションであると思います...しかし、そのための最良のデータベースは何でしょうか?確かに非常にパフォーマンスの高いものです。アプリケーションはGPLになるので、無料のものを探しています。

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

database-design - DBの設計とパフォーマンス

私は現在、データベースを設計中です。あまりうまく設計されていない既存のシステムがあり、はっきりと見える小さな問題をすべて解決しています。たとえば、varchartrue/false代わりにフラグを使用しbitます。

私が知りたいのは、あなたが素晴らしいデータベース設計を持っていることをどうやって知るのですか?それともこれは神話ですか?つまり、構造は紙の上では驚くべきものに見えるかもしれませんが、データがそこにあると、どのように機能するのでしょうか。

「ルックアップ」値を格納するテーブルは、完全な説明テキストを格納するよりも高速ですか?例えば

エラーテーブル

エラー説明表

このシナリオではview、必要な結合を含むSQLを作成するよりも、作成する方が有益でしょうか。

この質問を間違った場所に投稿した場合は申し訳ありません。

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

sql-server-2005 - ORのパフォーマンス?

重複の可能性:
SQL Server - クエリのショートサーキット?
SQL WHERE 句の短絡は評価されますか?

T-SQL (SQL Server 2005) での論理 OR 演算子のパフォーマンスについて質問があります。

少し調べてみましたが、この件に関するものは見つかりませんでした。

次のクエリがある場合:

randomboolean最初の条件が真である場合、プロシージャーインタープリターは、パフォーマンスを節約するために、重い条件の評価をスキップすることはありませんか?

OR ステートメントの値の 1 つが真であるため、最初の条件が満たされていることが既にわかっているため、2 番目の条件を評価する必要はありません。

C# でこのように動作することはわかっていますが、T-SQL でも当てにできるかどうか知りたいです。