私のasp.netアプリケーションでは、フォームを送信しているときにストアドプロシージャがどのくらいの時間かかるかをユーザーに示す必要があります。私はasp.netアプリケーションから見つけることができる方法はありますか?ちょうど私たちがSQL Serverで推定コストを持つクエリプランを見積もっているように。 asp.netのWebページに表示できますか?asp.netのSPの見積もりコスト
答えて
あなたはそれを実行しないだろうが、XMLを返すことになる(クエリを実行し、コマンド
set showplan_xml on
を使用して可能性があります。あなたは、あなたが後にある推定属性に対してXMLを解析することができます。
select top 10 * from master..spt_values
出力
<ShowPlanXML xmlns="http://schemas.microsoft.com/sqlserver/2004/07/showplan" Version="1.0" Build="9.00.3080.00">
<BatchSequence>
<Batch>
<Statements>
<StmtSimple StatementText="select top 10 * from master..spt_values
" StatementId="1" StatementCompId="1" StatementType="SELECT" StatementSubTreeCost="0.00333664" StatementEstRows="10" StatementOptmLevel="TRIVIAL">
<StatementSetOptions QUOTED_IDENTIFIER="false" ARITHABORT="true" CONCAT_NULL_YIELDS_NULL="false" ANSI_NULLS="false" ANSI_PADDING="false" ANSI_WARNINGS="false" NUMERIC_ROUNDABORT="false" />
<QueryPlan CachedPlanSize="9" CompileTime="0" CompileCPU="0" CompileMemory="56">
<RelOp NodeId="0" PhysicalOp="Top" LogicalOp="Top" EstimateRows="10" EstimateIO="0" EstimateCPU="1e-006" AvgRowSize="68" EstimatedTotalSubtreeCost="0.00333664" Parallel="0" EstimateRebinds="0" EstimateRewinds="0">
<OutputList>
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="name" />
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="number" />
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="type" />
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="low" />
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="high" />
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="status" />
</OutputList>
<Top RowCount="0" IsPercent="0" WithTies="0">
<TopExpression>
<ScalarOperator ScalarString="(10)">
<Const ConstValue="(10)" />
</ScalarOperator>
</TopExpression>
<RelOp NodeId="1" PhysicalOp="Clustered Index Scan" LogicalOp="Clustered Index Scan" EstimateRows="10" EstimateIO="0.0142361" EstimateCPU="0.0027376" AvgRowSize="68" EstimatedTotalSubtreeCost="0.00333564" Parallel="0" EstimateRebinds="0" EstimateRewinds="0">
<OutputList>
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="name" />
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="number" />
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="type" />
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="low" />
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="high" />
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="status" />
</OutputList>
<IndexScan Ordered="0" ForcedIndex="0" NoExpandHint="0">
<DefinedValues>
<DefinedValue>
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="name" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="number" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="type" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="low" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="high" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[master]" Schema="[dbo]" Table="[spt_values]" Column="status" />
</DefinedValue>
</DefinedValues>
<Object Database="[master]" Schema="[dbo]" Table="[spt_values]" Index="[spt_valuesclust]" />
</IndexScan>
</RelOp>
</Top>
</RelOp>
</QueryPlan>
</StmtSimple>
</Statements>
</Batch>
</BatchSequence>
</ShowPlanXML>
ため
のサンプルXML
上記はあなたのリクエストの文字通りの解釈ですが、「コスト」は意味がありません。これは、測定単位も時間との相関もない統計値です。
ベスト
は予想される行の合計数と、どのような種類の結合が含まれているかを知ることは多少役立ちますが、手動で計算して多くの条件を考慮する必要があります。 – RichardTheKiwi
あなたの援助ありがとう、私はそれを – Zerotoinfinity
あなたが唯一、過去の実行の記録を取ることによって、時間を見積もることができます...彼らはXMLプランを返す開始しているため作業を停止(コネクションプーリングと悪化し)、他のクエリLEST新しい接続を使用するにはユーザーに平均時間を伝えます。
Dynamic Management Views and Functionsを使用して、このSPについてSQL Serverに照会することもできます。
+1それを行うのが良い方法を利用することができると思う。このページには、「過去の実績は将来の結果の保証ではない」という小文字のテキストも追加する必要があります*;) –
- 1. CloudFront:コスト見積もり
- 2. Railsアプリの開発コストを見積もる方法は?
- 3. データベースサイズの見積もり
- 4. ピクセルカラーマッチングの見積もり
- 5. MySQLデータベースサイズの見積もり
- 6. Jira:ストーリーの見積もり=ストーリー下のサブタスクの見積もりの合計
- 7. 見積もり日付
- 8. Scrumの記事の見積もり
- 9. テストケースの数の見積もり
- 10. Yahoo Finance商品の見積もりPHP
- 11. PHP MySQLの自動見積もり?
- 12. リファクタリング作業の見積もり
- 13. ジップサイズ/作成時間の見積もり
- 14. 見積もり列の名前
- 15. Magento - 見積もりと注文の差
- 16. Ruby見積もり正規表現
- 17. F#見積もりの別の制限はありますか?
- 18. x86 CPUの割り込みレイテンシの見積もり
- 19. 命令あたりのサイクル数の見積もり
- 20. JPEGファイルサイズを見積もる
- 21. フルテキストインデックスサイズを見積もる
- 22. フレームレートを見積もる
- 23. 残り時間の見積もりは何ですか?
- 24. サーバー上のクライアント側のフォントレンダリングサイズの見積もりは?
- 25. Odoo8見積もりのデフォルト倉庫の設定
- 26. Oracle 10g:MIN/MAX列の値の見積もり
- 27. SQL Serverのクエリ時間の見積もり
- 28. コンパイル時の相対CPU使用量の見積もり
- 29. 擬似分散ノードでのHadoopスケーラビリティパフォーマンスの見積もりは?
- 30. タスクの時間を見積もる
推定クエリプランには時間が表示されません。プラン内の他の機能に関連して情報をロードする "コスト"を示します。それに「時間」を付けることはできません。 –
@マイケル:あなたの入力をありがとう、私はasp.net webformのコストを示すことができる方法はありますか? – Zerotoinfinity
多くの変数が使用されています。これは、オプティマイザの計算外(システム上のユーザー数、他のクエリが同時に実行されているなど)の外にあります。 –