タグ付けされた質問 「performance」

システムが目的に適合するほど十分に機能するかどうかの評価。通常、パフォーマンスとは、システムが1つの操作または一連の操作を時間の経過とともに完了する速度を指します。

2
一意の列に値が存在するかどうかをチェックすることの長所と短所、または挿入時にdbに一意のエラーを発生させる
先日クエリを書いていると、思いが浮かんできてしまいました。 最初に一意の列の値が存在するかどうかを確認し、次に挿入するか挿入して、dbに一意の制約エラーを発生させますか?それは重要ですか? 編集:この問題はデータベースに依存するという回答で以下に示すように、タグpostgresqlを追加しています。

3
SQL Server-複数の累計
トランザクションを含むベーステーブルがあり、累計を含むテーブルを作成する必要があります。それらはアカウントごとである必要があり、さらに各トランザクションのいくつかの実行合計が(トランザクションタイプによって異なります)あり、その中にサブアカウントごとのいくつかの実行合計があります。 私のベーステーブルには次のフィールドがあります(多かれ少なかれ)。 AccountID | SubAccountID | TransactionType | TransactionAmount Account / TransactionTypeごとに約4種類の実行合計があり、Account / SubAccount / TransactionTypeごとに実行合計が2つあり、それぞれ約10のサブアカウントを持つ約200万のアカウントがあり、約10Kのトランザクションを取得している毎分(最大負荷時)、どのように実行しますか? これがSQLジョブを介して非同期で実行され、トランザクション自体の一部ではなく集計を作成することも必須です。 私はここでカーソルを使用してかなり立ち往生しています-時間がかかりすぎます。私は多かれ少なかれ同じことをしているアドバイス/記事に本当に感謝します。

1
Stack OverflowはSQL Server Web Editionで実行できますか?
多数のユーザーに対応する必要がある新しいWebベンチャーを始めています。 SQL Server WebエディションのSPLAライセンスには自信がありますが、Standard、Enterprise、またはDataCenterへのアップグレードを考慮に入れる必要があるかどうかを知りたいです(これは間違いなくこれになります)。 必要になる前にスケーリングについて考えるべきではないことはわかっていますが、これはサイトのアーキテクチャとビジネスプランに影響します。 プロセッサーの制限はスレッドではなく物理プロセッサーごとであることを知っているので、心配はいりません。ただし、ミラーリング機能とバックアップ機能の一部が心配になります。SOはこれらの機能に依存していますか? tl; dr: Stack OverflowのようなサイトはSQL Server Webで実行できますか?メンテナンスと高可用性のどの側面を達成することは不可能でしょうか?

2
PostgreSQL:同じクエリでの複雑な中間結果の再利用
PostgreSQLの(8.4)は、私はいくつかのテーブルから様々な結果をまとめたビューを作成しています使用して(例えば、列を作成しa、b、cビュー内)、その後、私は(一緒に同じクエリでこれらの結果の一部を結合する必要があるなどa+b、a-b、(a+b)/c、...)、最終結果を生成するようにします。私が気づいているのは、同じクエリ内で実行された場合でも、中間結果が使用されるたびに完全に計算されることです。 毎回同じ結果が計算されるのを避けるためにこれを最適化する方法はありますか? これは、問題を再現する簡単な例です。 CREATE TABLE test1 ( id SERIAL PRIMARY KEY, log_timestamp TIMESTAMP NOT NULL ); CREATE TABLE test2 ( test1_id INTEGER NOT NULL REFERENCES test1(id), category VARCHAR(10) NOT NULL, col1 INTEGER, col2 INTEGER ); CREATE INDEX test_category_idx ON test2(category); -- Added after edit to this question CREATE INDEX test_id_idx …

1
MySQL 5.5でのperformance_schemaの使用方法を教えてください。
MySQLバージョン5.5にアップグレードしました。そこで、スキーマリストでperformance_schemaを確認しました。 この新しいスキーマの使用法は何ですか。 このスキーマを使用してどのように監視できますか? このスキーマを使用する利点は何ですか。 このスキーマを有効にすることによるオーバーヘッドはありますか?

3
InnoDBデフォルト設定の最適化
my.iniを調べて、さまざまなデフォルト設定を確認しました。データベースが1台のスタンドアロンPCで実行されています。InnoDBとMySQLのパフォーマンスを全体的に最適化してパフォーマンスを向上させたい。ディスク容量の制約はありません。パフォーマンス、信頼性、ポイントインタイムバックアップの可能性を高めるために最適化するには、どのデフォルト設定を変更する必要がありますか(高可用性)。 編集済み 現在、MySQL AdministratorでMaintenanceを介して「Optimize Tables」を実行すると、常に次のように表示されます。 テーブルは最適化をサポートせず、代わりに再作成+分析を実行します すべてのテーブル。すべてのテーブルがInnoDBですが、なぜ最適化をサポートしていないのですか?

3
MySQLトリガーまたはトランザクションを使用していますか?
MySQLトリガーまたはWebサイトでのトランザクションの使用について、ご意見をお聞かせください。 実際、私はpayment-で履歴テーブルを持っていますUserId | OperationId | Comment | Credits | Sign (debit or credit)。したがって、各支払い操作がこのテーブルに挿入されます。 ただし、ユーザーがアクションを実行するたびに、ユーザーの合計クレジット額を計算するのに時間がかかります。そのため、各ユーザーの合計クレジット額をユーザーprofileテーブルに保持することをお勧めします。 ここに問題があります。profileテーブルの合計クレジット額がpayment履歴テーブルの操作と常に同期していることを確認するにはどうすればよいですか? 私は2つの方法を使用すると思いました: MySQLトリガーまたは ソースコードでコーディングされたトランザクション どちらがより信頼できますか?大規模なデータベース(100.000ユーザー以上)がある場合はどうなりますか? これを行うための提案はありますか? BD MySQLエンジンはInnoDBです。

4
SQL Server DBのパフォーマンスがハードウェアに制限されているかどうかを確認するにはどうすればよいですか?
現在シングルユーザーの負荷がかかっているアプリのテスト-テストデータが本番サイズ(テーブルあたり400k〜2M行)に増加したため、一部のSELECT spは十分に高速ではなくなりました(テストデータが限られているため、以前はそれぞれ30ミリ秒未満でしたが、現在は100〜200ミリ秒ですが、数ミリ秒あるため、UIで遅延が明らかになっています)。

1
MySQLはまだこの方法でインデックスを処理しますか?
MySQLで重複したインデックスを削除するのにはかなり時間がかかりました。そのため、私が待っていたときにそれについて検索し、MySQLがどのように処理し、インデックスを作成するかについて話している2006年のこの投稿を見つけました。ADDDROP テーブルTが4つのインデックス(ndx1、ndx2、ndx3、ndx4)を持つMySQLテーブルであり、「テーブルTをドロップインデックスndx3に変更」したい場合。ここでは、内部で何が起こるかを正確に示します。 1)MySQLはT.MYDを一時テーブル、つまりS.MYDとゼロバイトのS.MYIにコピーします。2)MySQLは「テーブルSを変更し、インデックスndx1(...)を追加します。3)MySQLは「テーブルSを変更し、インデックスndx2(...); 4)MySQLはテーブルSを変更し、インデックスndx4(...)を追加します。5)MySQLはT.MYDを削除してT.MYIを削除します6)MySQLはS.MYDをT.MYDに名前変更し、S.MYIをT.MYIに名前変更します これはまだ本当ですか?彼のアドバイスはまだ有効ですか? 同じMyISAMテーブルTに4つのインデックス(ndx1、ndx2、ndx3、ndx4)があり、「テーブルTドロップインデックスndx3を変更する」とします。代わりにこれを試してください: 1)TのようなテーブルT1を作成します。これにより、ndx1、ndx2、ndx3、およびndx4のインデックスを持つ空のテーブルT1が作成されます。2)テーブルT1ドロップインデックスndx3を変更します。これにより、空であるT1のインデックスndx3が削除されます。3)T1に挿入* Tから選択します。これにより、テーブルTにデータが読み込まれ、T1の3つすべてのインデックスが1つのパスで読み込まれます。4)ドロップテーブルテーブルT; 5)テーブルT1の名前をTに変更します。 大きなテーブルでのインデックスの追加と削除をどのように処理しますか?

4
TSQL:大量のSQLコンパイルとSQL再コンパイルを個別に引き起こすクエリを見つける
パフォーマンスモニターカウンターに表示されるSQLコンパイルの高さ(再コンパイルではない)の原因を調べたい。 これが私の見解です:SQlコンパイルが大量に表示される場合は、次の理由により、システム上のクエリがキャッシュされていません。 多くのアドホッククエリ SQlがキャッシュしないクエリの実行: UPDATE table1 SET col1 = '8000文字より長い文字列.....' WHERE key_column = some int プランがタイムアウトして、キャッシュから削除されています。キャッシュのスペースが不足しているか、プランが十分に長く使用されていません。 プロファイラーでのキャッシュ挿入のキャプチャに近い唯一のことは、ストアドプロシージャ-> SP:CacheInsertsですが、ストアドプロシージャキャッシュの管理のみを行います。 だから私はアドホッククエリを取得するために以下を試しました: SELECT [cp].[refcounts] -- when Refcounts becomes 0, plan is excluded from cache. , [cp].[usecounts] , [cp].[objtype] , st.[dbid] , st.[objectid] , st.[text] , [qp].[query_plan] FROM sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_sql_text ( …

3
ストアドプロシージャを使用してデータを処理することと、検索後に関数にデータを供給することとでは、パフォーマンスが向上しますか?
タイトルはそれを要約します。私はPHPにかなり余裕があり、MySQLから取得した値を使用して必要なことを実行できますが、知識を広げるために、おそらくそれがロングラン。それらは同等ですか(最終的にはほぼ同じ量の処理が行われるため)、または一方が他方よりも明らかに有利な場合がありますか?

4
MySQLで「列を表示」を高速化するにはどうすればよいですか?
私のアプリケーションは、特定のテーブルの「列の表示」の実行に依存しています。実行には約60ミリ秒かかりますが、他のすべてのクエリには1ミリ秒未満かかります。information_schema直接のクエリはさらに遅くなります。 データベースには約250のデータベースが含まれ、データベースごとに100から200のテーブル(合計で約2万テーブル)があります。 これらの操作が非常に遅い理由を知るにはどうすればよいですか? 実行を高速化したり、SQL側にキャッシュしたりするために変更できる設定はありますか? (アプリケーションは、ページの読み込みごとにこのようなクエリを約14回実行します。このレガシーコードをクリーンアップする必要があることは承知していますが、長期的な修正に取り組んでいる間、可能なオプションを探しています。)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.