問題タブ [optimization]
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.
sql-server - SQL Server Management Studio –TSQLコーディングプロセスを改善するためのヒント
私は以前、ペアプログラミングを使用するのが一般的な場所で働いていました。コードを一緒に作業するときに、お互いから学ぶことができる小さなことをいくつ覚えています。新しいショートカットやコードスニペットなどを時間の経過とともに取得することで、コードの記述効率が大幅に向上しました。
SQL Serverを使い始めてから、私は独り立ちしました。今はできない他の人と一緒に仕事をすることから、私が普段選ぶ最高の習慣。
だからここに質問があります:
- SQL Server Management Studioを使用してTSQLコードを効率的に作成するためのヒントは何ですか?
- コーディングの速度を向上させると思われる2〜3つのこと/ショートカットのヒントを守ってください
- TSQLおよびSQLServerManagement Studio2005/2008の範囲内にとどまるようにしてください機能がManagementStudioのバージョンに固有である場合は、次のように示してください。例:「SQLServer2008でのみ動作する」
編集:
私はあなた方の何人かによって誤解されたかもしれないのではないかと心配しています。効率的なTSQLコードを作成するためのヒントを探しているのではなく、ManagementStudioを効率的に使用してコーディングプロセス自体を高速化する方法についてのアドバイスを探しています。
私が探している答えの種類は次のとおりです。
- テンプレートの使用、
- キーボードショートカット、
- IntelliSenseプラグインなどの使用。
基本的に、コーディング体験をもう少し効率的で快適にするこれらの小さなこと。
python - __iter__ で辞書をソートする
キーに基づいて dict をソートし、クラスのオーバーライドされた iter メソッド内からイテレータを値に返そうとしています。新しいリストを作成し、キーを並べ替えるときにリストに挿入するよりも、これを行うためのより適切で効率的な方法はありますか?
oracle - 計画コストと実行時間の説明
以前、実行計画の「コスト」が相対的な実行時間の良い指標であることがわかりました。なぜこのケースは違うのですか?実行計画に関連性があると考える私はばかですか? v_test のパフォーマンスを改善するには、具体的に何を試すことができますか?
ありがとうございました。
Oracle 10gを使用して、以下に定義された単純なクエリビューがあります
次のビューを置き換えるように定義されています
ROLE_LEVEL 列への依存を取り除くことを目的としています。
v_test の実行計画は、単純な v_bo_secured_detail よりも大幅に低くなります。
クエリ。また、実際のクエリで使用すると大幅に低くなります
実行時間は大幅に異なります。v_test ビューには 15 時間、v_bo_secured_detail には数秒かかります。
回答してくれた皆さんありがとう
これは私にとって覚えておくべき1つです。式の理論と数学がハードウェアベースの実行の現実と出会う場所。ああ。
sql - カーソル/結合に関連する可能性のある問題
これが私の状況です:
表 1 には、ID を一意の識別子として使用する一連のデータが含まれています。このテーブルには、そのような他の約 6 つのテーブルとの 1 対多の関係があります。
テーブル 1 の ID が 001 の場合: テーブル 2 には外部キーを持つ 3 つの行がある可能性があります: 001 テーブル 3 には外部キーを持つ 12 行がある可能性があります: 001 テーブル 4 には外部キーを持つ 0 行がある可能性があります: 001 テーブル 5 には外部キーを持つ 28 行がある可能性があります: 001
指定された期間のテーブル 1 のすべての行と、それを参照するいくつかのテーブルに含まれるすべてのデータをリストするレポートを作成する必要があります。
擬似コードでの私の現在のアプローチは次のようになります。
これは、1 つのレポートを 1000 クエリの近隣で実行できることを意味します。これが過剰であることはわかっていますが、私の sql-fu は少し弱く、助けが必要です。
sql-server - 最高の SQL Server パフォーマンス最適化手法は何ですか?
私は常に、最初に最小限のインデックス セットを使用してデータベースを展開し、次にパフォーマンスに応じてインデックスを追加/変更するというアプローチをとってきました。
このアプローチはかなりうまく機能します。ただし、どこでパフォーマンスを改善できるかはまだわかりません。ユーザーが文句を言うほどパフォーマンスが悪い場所を教えてくれるだけです。
現在、多くのアプリケーションでデータベース オブジェクトをリファクタリングしている最中です。
「時期尚早の最適化はすべての悪の根源である」ので、わざわざパフォーマンスの改善を探すべきではないでしょうか?
アプリケーション コードをリファクタリングするとき、開発者はコードの品質を改善する方法を常に探しています。データベースのパフォーマンスも常に向上させる方法はありますか? もしそうなら、どのツールやテクニックが最も役に立ったと思いますか?
「データベース エンジン チューニング アドバイザー」を簡単に試してみましたが、まったく役に立ちませんでした。たぶん、結果を解釈するための経験がもっと必要なだけです。
c# - WinformアプリケーションプロファイリングCPU使用率/スパイク。
私は通常約2-4%のCPUであるwinformsアプリケーションを持っています。限られた回数で、CPUの27%までのスパイクが見られます。このスパイクを実際に引き起こしているものを特定するための最良のプロファイリングツールは何ですか。dottraceを使用していますが、それをCPUスパイクに正確にマッピングする方法がわかりませんか?
ヘルプに感謝します
sql - SQL Server で VARCHAR から数値以外の文字を削除する最速の方法
インポート内の一意のキーとして電話番号を使用するインポート ユーティリティを作成しています。
電話番号が自分の DB にまだ存在しないことを確認する必要があります。問題は、DB 内の電話番号にダッシュや括弧などが含まれている可能性があることです。私はこれらのものを削除する関数を書きましたが、問題はそれが遅く、DB に何千ものレコードがあり、一度に何千ものレコードをインポートする必要があるため、このプロセスが許容できないほど遅くなる可能性があることです。すでに電話番号の列をインデックスにしています。
この投稿のスクリプトを使用してみました:
T-SQL トリム (およびその他の英数字以外の文字)
しかし、それはそれをスピードアップしませんでした。
数字以外の文字を削除するより速い方法はありますか? 10,000 から 100,000 のレコードを比較する必要がある場合にうまく機能するもの。
何をするにしても、高速に実行する必要があります。
更新
人々の反応を考えると、インポート ユーティリティを実行する前に、フィールドをクリーンアップする必要があると思います。
インポート ユーティリティを何に書いているのかという質問に答えると、それは C# アプリです。現在、BIGINT と BIGINT を比較しています。DB データを変更する必要はありません。また、非常に小さなデータ セット (約 2000 レコード) でパフォーマンス ヒットが発生しています。
BIGINT と BIGINT を比較すると速度が低下する可能性はありますか?
アプリのコード側をできる限り最適化しました (正規表現を削除し、不要な DB 呼び出しを削除しました)。SQL が問題の原因であることを突き止めることはできなくなりましたが、今でもそうだと感じています。
sql-server - 一般的にどの列が適切なインデックスになりますか?
インデックスについて学習しようとしている「インデックスとは何ですか? また、それらを使用してデータベース内のクエリを最適化するにはどうすればよいですか? 」のフォローアップとして、インデックスの候補として適しているのはどの列ですか? 具体的には、MS SQL データベースの場合?
いくつかのグーグルの後、私が読んだことはすべて、一般的に増加し、一意である列が適切なインデックスを作成することを示唆しています(MySQLのauto_incrementなど)。これは理解していますが、MS SQLを使用しており、主キーにGUIDを使用しているため、そのインデックスは GUID 列に利益をもたらしません...
mysql - MySQL: 推奨される行数
常にクエリと書き込みが行われる、7 つの列を持つインデックス付きの MySQL テーブルを考えてみましょう。データを他のテーブルに分割してパフォーマンスを向上させる前に、このテーブルに含めることを許可する推奨行数は?
c - char より大きい整数を受け入れる memset() はありますか?
1 バイト (char) より大きい値を設定する memset() のバージョンはありますか? たとえば、 memset32() 関数があるとします。これを使用すると、次のことができます。
これにより、配列のすべての要素に値 0xDEADBEEF が設定されます。現在、これはループでしか実行できないようです。
具体的には、memset() の 64 ビット バージョンに興味があります。そのようなことを知っていますか?