X



トップページDB@2ch掲示板
1002コメント327KB
Microsoft SQL Server 総合スレ 11 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001NAME IS NULL
垢版 |
2016/05/29(日) 16:50:08.13ID:dqKJQypQ
Microsoft SQL Server (Transact-SQL) の総合スレッドです。

・Microsoft 公式サイト
http://www.microsoft.com/japan/sql/

過去スレとかめんどいから誰か適当に貼って
0083NAME IS NULL
垢版 |
2016/09/09(金) 03:01:08.50ID:???
>>82
ちょっと思ったんだが、CSV型みたいなCLRのユーザ定義型を自分で作ってみるとかどうだろう
0084NAME IS NULL
垢版 |
2016/09/09(金) 10:59:36.31ID:???
>>81
ssmsでatokが使えないってどういう意味よ?
0085NAME IS NULL
垢版 |
2016/10/07(金) 16:24:10.12ID:???
SQLを発行してテーブルのデータを読み込む場合、
結果をDataTableに一気に読み込むのと、
SqlDataReaderを使って 
while (dr.Read()){
 ... 
}
のようにループで一個ずつ取り出すのとで、どっちが良いとかありますか?
0086NAME IS NULL
垢版 |
2016/10/07(金) 21:57:05.54ID:???
>>85
まず読み込む件数によると思うが
0087NAME IS NULL
垢版 |
2016/10/08(土) 02:21:43.32ID:???
>>86
数件〜数万件くらいです。状況によって変わります。
0088NAME IS NULL
垢版 |
2016/10/08(土) 05:22:55.16ID:???
>>87
上限が数万なら一気読みでいいかと
将来的にもっと増えるかもならループかな
0089NAME IS NULL
垢版 |
2016/10/08(土) 06:31:28.05ID:???
>>88
数が増えるとループのほうが良いのですか?
なぜですか?
0090NAME IS NULL
垢版 |
2016/10/19(水) 17:17:06.51ID:???
MySQLのREPLACE INTOに相当するコマンドはありますか?
0091NAME IS NULL
垢版 |
2016/10/21(金) 18:43:10.14ID:9/r7lXFV
すみません、ご教示ください。
応研の給与大臣を使用していて、カスタマーサポートの指示に従いデータを復旧していたのですが、
以下の互換性コンポーネントをインストールするようダイアログが出ました。


Microsoft SQL Server 2005 の旧バージョンとの互換性コンポーネント
対象 : カスタマ、パートナー、開発者

X86 パッケージ (SQLServer2005_BC.msi) - 11258 KB
X64 パッケージ (SQLServer2005_BC_x64.msi) - 18552 KB
IA64 パッケージ (SQLServer2005_BC_ia64.msi) - 23490 KB

当方の環境がWindows10 64bitなのですが、どのパッケージをインストールすれば良いのでしょうか?
単純にX86 パッケージで良いものかわからなかったもので。
0092NAME IS NULL
垢版 |
2016/10/21(金) 19:31:32.02ID:???
>>91
ベンダーなりメーカーなりに聞けよ
0094NAME IS NULL
垢版 |
2016/10/23(日) 02:01:53.42ID:???
mergeで全項目上書きでいいんじゃね

そもそもdeleteしてinserすれば良いだけで
ちゃんとしたトランザクションをサポートするDBMSでreplaceの必要性がわからんが
0095NAME IS NULL
垢版 |
2016/10/24(月) 02:54:50.86ID:???
生SQLだと0秒なのに、ストアド内に書くと35秒とか、
似たような悩みはググるといっぱい出てくるんだけど、どれ見ても解決してない様子

「推定実行プランの表示」ってダメ元で見てみたら、
ストアド版だけインデックス貼れって警告があって貼ったら直った

全く同じ内容なのに実行プランが違うわけないじゃん
もしかして有償サポート増やすために仕組んでる?
0096NAME IS NULL
垢版 |
2016/10/24(月) 03:10:48.55ID:???
mysqlやpostgreはいくら便利な命令があっても、スピードが遅いから単純なことにしか使えない
しかしまあ、t-sqlはお硬いやね
お硬いから速いのかもしれんが
GREATEST、LEASTぐらいは付けてもいいような
0097NAME IS NULL
垢版 |
2016/10/24(月) 03:29:06.99ID:???
SQLが同じでも実行計画が同じになるとは限らん
ストアドの実行計画は実行時に決定されるとは限らん

インデックス追加したということは、生SQLの方はインデックスを使ってないのに早かったのか
生SQLで使われてたインデックスがストアドでは使われてなかったのか

この程度の判断が自分でできないなら素直にどっかの業者に頼んだほうがいいんじゃね
0098NAME IS NULL
垢版 |
2016/10/24(月) 03:31:07.95ID:???
>>97
全く同一の内容だと言ってるだろ頭悪いな
0099NAME IS NULL
垢版 |
2016/10/24(月) 03:33:38.93ID:???
>>97
しかも自分で直ったと書いてあるだろ馬鹿
0100NAME IS NULL
垢版 |
2016/10/24(月) 03:35:16.10ID:???
ていうか俺自身が方々で数十倍〜数百倍にスピードアップさせてきた業者だからw
0101NAME IS NULL
垢版 |
2016/10/24(月) 03:47:25.19ID:???
>>98
生SQLとストアドって言ってるんだけど、何が全く同一なのか?

推定実行計画は必ずしも実際の実行計画なわけじゃないぞ

ストアド内の個々のSQLの、実際の実行計画って簡単には確認できなかった気がするなぁ
だれか簡単なやり方しってる?
0102NAME IS NULL
垢版 |
2016/10/24(月) 03:53:11.18ID:???
何が問題だったかわからんけど、とりあえず不要かもしれんインデックス追加して直りましたってか
パフォーマンスチューニングやる業者のレベルとしては信じられんな
0103NAME IS NULL
垢版 |
2016/10/24(月) 05:57:49.84ID:???
>>94
>replaceの必要性がわからんが
deleteしてinsertを一つのコマンドで実行したいからじゃねえ?
0104NAME IS NULL
垢版 |
2016/10/24(月) 07:59:00.21ID:???
文字列型のカラムで
2016/10/24 12:34:56
2016/1/2 2:3:5
のように桁がバラバラなのですが、それを
2016/10/24 12:34:56
2016/01/02 02:03:05
のように
YYYY/MM/DD HH:MM:SS
に揃えるSQL文を教えてください。
0105NAME IS NULL
垢版 |
2016/10/24(月) 09:01:09.32ID:???
>>101
dm_exec_query_statsにある情報でいいんかな
dm_exec_query_plan、dm_exec_sql_text組み合わせてステートメント単位でとってこれるよ
カーソルオープンは厳しかったと思うけど

生SQLが早いってことは検索条件に変数使ってるとかかね
分布が特異な偏りしてるインデックスをストアドで使うなら、with recompileつけるのが推奨だったと思う
ヒント文つけてもいいけど
0106NAME IS NULL
垢版 |
2016/10/24(月) 20:28:53.01ID:???
>>104
一旦日付型にCASTしてからフォーマット
つか特殊な要件が無ければ、DB上は日付型で保持してホストアプリ上で表示変換させた方が良いぞ

>>105
>dm_exec_query_plan、dm_exec_sql_text組み合わせ
それ見ても、どのプロシジャなのか探すのが大変だからなぁ
0107NAME IS NULL
垢版 |
2016/10/24(月) 21:24:42.51ID:???
>>106
>104
日付を文字列で保管するとどういうデメリットがありますか?
0108NAME IS NULL
垢版 |
2016/10/24(月) 21:34:11.43ID:???
>>106
dbidとobjectidで引っ張ってくればいいじゃない
うちはバックアップとかみたく自動で定期的にとるよう運用に乗っけてるよ
リリースして遅くなったなんてときにかなり重宝する
0109NAME IS NULL
垢版 |
2016/10/24(月) 21:39:15.61ID:???
>>107
orderbyとかwhere条件が大変
変換噛ましてやれないことはないが、そのぶんだけおそくなる
それにデータサイズも文字型のほうが大きくなる
0110NAME IS NULL
垢版 |
2016/10/24(月) 21:42:26.11ID:???
>>109
なるほど。
でも日付型は1750年以降くらいしか保持できないそうですが、それで
問題は出ないのですか?
0111NAME IS NULL
垢版 |
2016/10/24(月) 21:49:30.87ID:???
>>107
文字列で持ってたら、日付計算どうすんだよ

>>110
日付型って言っても色々あるから
dateかdatetime2使え
0112NAME IS NULL
垢版 |
2016/10/24(月) 21:52:59.93ID:???
>>111
>日付計算
このデータに関しては日付の計算をする予定はありません。
>dateかdatetime2使え
紀元前を扱うにはどうするのでしょうか?
0114NAME IS NULL
垢版 |
2016/10/24(月) 21:54:49.77ID:???
>>112
後はどういった要件があるのかな?
0116NAME IS NULL
垢版 |
2016/10/24(月) 22:07:49.71ID:???
>>115
どういった目的で紀元前を扱いたい?
扱うとは具体的にどういった処理をする?
0117NAME IS NULL
垢版 |
2016/10/24(月) 22:31:02.56ID:???
>>116
紀元前を扱う目的はその年代の年月日をデータで保管したいから。
日付の計算はしない。
それだけ。
0119NAME IS NULL
垢版 |
2016/10/26(水) 00:41:26.43ID:???
てきとーにアンインストールしたら次から全然インストールできんくなった...助けて
0120NAME IS NULL
垢版 |
2016/10/26(水) 01:21:01.81ID:???
インストールログみて止まってるとこでググる
システムの復元でアンインストール前に戻す
OSから入れ直す
なにも情報ないからこれくらいしか言えない
0121NAME IS NULL
垢版 |
2016/10/26(水) 12:44:47.05ID:???
ットアップが失敗しました。
クリーンアップが必要ですってポップアップがでてきます..
0122NAME IS NULL
垢版 |
2016/10/28(金) 08:12:24.68ID:???
なんとか、再インストールできやした。あざした。
0123NAME IS NULL
垢版 |
2016/10/31(月) 14:07:37.12ID:???
sql serverとmysqlとで同じテーブルを同期させるなんて出来ますか?
sql serverの本データをmysqlにコピーする感じで。
0124NAME IS NULL
垢版 |
2016/11/03(木) 07:25:24.79ID:???
>>123
MySQLへリンクサーバー定義して、同期時に更新とかで出来そうな気がする
同期どうするかは考えんとダメだけど
0125NAME IS NULL
垢版 |
2016/11/03(木) 10:12:13.06ID:???
>>124
sql serverからmysqlへの一方通行のコピーなら簡単に出来るもんなの?
0126NAME IS NULL
垢版 |
2016/11/04(金) 05:38:06.52ID:???
リンクサーバ定義すれば、SQLServerからはローカルテーブルとほぼ同じように扱える
0127NAME IS NULL
垢版 |
2016/11/04(金) 16:29:37.52ID:???
>>126
ありがとうございました。
リンクサーバーでググってみます
0128NAME IS NULL
垢版 |
2016/11/07(月) 22:55:01.33ID:???
デフォルトだとdbo スキーマが使われますが、
実際の開発現場では、スキーマを何種類も作成して使い分けるなど
するのでしょうか?
dbo一個だけでテーブルを使い分ければそれで済む場合も多いと思いますが。
0129NAME IS NULL
垢版 |
2016/11/07(月) 23:26:03.19ID:eRnTZUaL
>>128
dboはスキーマではなくユーザー。

Oracleのようだと勘違いしてる?
0132NAME IS NULL
垢版 |
2016/11/08(火) 23:19:02.99ID:???
今のSQLServerはDBユーザとスキーマが別なので、同じ名称のスキーマもユーザも存在するぞ

スキーマは使い分ける必要があればそうすればいいし
単一スキーマで問題なければ全部dboでもいいんじゃね
0134NAME IS NULL
垢版 |
2016/11/09(水) 09:53:38.05ID:???
>>132
>スキーマは使い分ける必要があればそうすればいいし
スキーマを分けるのは例えばどんな場合なん?
0135NAME IS NULL
垢版 |
2016/11/09(水) 19:50:50.41ID:???
>>134
テーブル更新できないスキーマ作ったりのセキュリティ要件とか

スキーマっていうよりユーザって言う方がしっくりくるんだけどな
まあどうせDBごとでユーザとスキーマは1対1だろうし
実際スキーマとユーザの違いはすっきり説明できん
単にワンクッション入ってるだけってイメージだ
0136NAME IS NULL
垢版 |
2016/11/09(水) 22:45:58.11ID:9dB+mYx1
>>133
本来はユーザーで所有者なんだよ。

スキーマという概念は後付け。

SQL Serverではユーザーとスキーマは別のくくり。
0137NAME IS NULL
垢版 |
2016/11/09(水) 23:03:36.67ID:???
そんなオレオレ定義を開陳されても困る
0138NAME IS NULL
垢版 |
2016/11/10(木) 18:02:32.23ID:0Mu12LBJ
私は元創価の会員でした。
すぐ隣に防衛省の背広組みの官舎があるのですが、
自分の家の窓にUSB接続のwebカムを貼り付けて、そこの動画を撮影し続け、
学会本部に送っていました。

別に大したものは写っていません。ゴミだしとか奥さんが子供を遊ばせている所とか。
官舎が老朽化して使われなくなってから、
今まで法人税(うちは自営業です)をほぼ払わなくても済んでいたのが、
もう守ってやれないのでこれからは満額申告するように言われました。
納得がいかないと言うと、君は自業自得で餓鬼地獄へ落ちる、
朝夕南無妙法蓮華経と三千回ずつ唱えて心をきれいにしなさいと言われ
馬鹿らしくなって脱会しました。

それ以来、どこへ行くにもぞろ目ナンバーの車につけまわされたり大変な日々です。
全部自分の出来心から起きたことで、どこに訴えるわけにもいかないのですが、
なんとかあの人たちと縁を切った上で新しい始まりを迎える方法はないんだろうか。
0139NAME IS NULL
垢版 |
2016/11/10(木) 22:12:44.11ID:???
まあ、SQLServerに限れば、昔はスキーマとDBユーザは同一だったから
>スキーマという概念は後付け。
と言えなくはないかもしれんが

>SQL Serverではユーザーとスキーマは別のくくり。
とどうつながるのか理解できん
0140NAME IS NULL
垢版 |
2016/11/11(金) 07:20:29.10ID:???
スキーマを正しく説明出来る人はここにはいないんですか?
0141NAME IS NULL
垢版 |
2016/11/11(金) 10:40:53.75ID:???
CitrixのXenAppのデータベースのぞいたら、サービスの単位でスキーマ分けてたな
ユーザはコンピュータアカウントだけででdb_owner
そんなやり方もあるんだなと感心した
うちは機能単位でなんてわけられないからdbo1個
リソースガバナー使う場合もあるからユーザは複数
0142NAME IS NULL
垢版 |
2016/11/11(金) 10:55:41.98ID:???
>>140
スキーマというのは、大抵のRDBMSで共通する概念ですね。
一つのデータベース内で論理的なグルーピングをするためのものです。

PostgreSQLのヘルプがわかりやすいので引用します。

> データベースには、複数の名前付きスキーマが含まれ、スキーマにはテーブルが含まれます。
> スキーマには、データ型、関数および演算子などの他の名前付きオブジェクトも含まれます。
> 同じオブジェクト名を異なるスキーマで使用しても矛盾は起こりません。

> スキーマの使用が好まれる理由はいくつかあります。
>
> ・1つのデータベースを多数のユーザが互いに干渉することなく使用できるようにするため。
> ・管理しやすくなるよう、データベースオブジェクトを論理グループに編成するため。
> ・サードパーティのアプリケーションを別々のスキーマに入れることにより、他のオブジェクトの名前と競合しないようにするため。
> ・スキーマは、ネストできないという点を除き、オペレーティングシステムのディレクトリと似ています。
0144NAME IS NULL
垢版 |
2016/11/13(日) 01:56:32.48ID:ImZglz/9
SQL Serverは日本マイクロソフトのサポートがやる気ねえからな。
0145NAME IS NULL
垢版 |
2016/11/13(日) 17:11:33.05ID:???
日本MSはMSの名を借りた国内代理店だと思ってる
0146NAME IS NULL
垢版 |
2016/11/14(月) 10:03:43.16ID:???
Windows Server 2012R2 のWindows VPSでSQL Server Express 2016動かすには
メモリ2GBだと厳しいか?
IISも動かしている。
0147NAME IS NULL
垢版 |
2016/11/14(月) 19:09:41.20ID:???
Expressは使用メモリ1GBに制限されてなかったかな…
もちろん余裕があるに越したことはないけれども
0148NAME IS NULL
垢版 |
2016/11/15(火) 00:33:47.54ID:???
Committed bytesの適正値を考えると、メモリ2GBならIISとSQLserver合算で1GB未満、できれば600〜800MBくらいかなあ感覚だけど
IISとSQLserverで上限設定しときゃサーバーが不安定になるのは抑えられると思う
素直にメモリ増強するのが一番いいけどね
0149NAME IS NULL
垢版 |
2016/11/15(火) 23:39:28.97ID:???
>>147>>148
レスありがとうございました。
余裕をみて4GBくらいでVPS契約してみます。
0150NAME IS NULL
垢版 |
2016/11/16(水) 11:07:27.41ID:???
>>149
個人利用でやる分には2GBでもいいと思うよ
会社のパソコン(Windows7の32bit、メモリ2GB)にSQLserver Developer EditionとIIS入れてて普通に動作する
Officeとかも使うとやっぱきつくなるんで普段はサービス停止してるけどね
0151NAME IS NULL
垢版 |
2016/11/16(水) 12:40:26.64ID:???
質問です。

先日、知り合いの店でデータベースリストアが勝手に走ったのですが
何が原因なのか不明な状態です。下記が一部ログになります。

The database '*****'' is marked RESTORING and is in a state that does not allow recovery to be run.

分かる方いらした教えてください。
0153NAME IS NULL
垢版 |
2016/11/17(木) 23:05:51.60ID:???
ある特定のテーブルで大量の件数をDeleteする時だけ
異常に時間がかかるんですが何故だかわかりますか?
ググってもイマイチ分からんです

Delete From TABLE Where PK<****
みたいな単純なやり方なんですが…

エスパーの方教えてください
0154NAME IS NULL
垢版 |
2016/11/18(金) 00:05:01.89ID:???
>>153
断片化が走りまくってるとか?
Insertするときもプライマリキー張ってると徐々に遅くなってくしそれかも
一回リビルドインデックスしてからやってみたら変わらんかなあ

sum関数でInt型の限界越えてオーバーフローしたんだが、実行プラン次第でオーバーフローしたりしなかったりするのは仕様?不具合?
2008r2から2014のsp2に移行しようとして本番データで動かしたらエラーなりやがった
MSに問い合わせる前にバグか仕様かのあたりつけときたい
0155NAME IS NULL
垢版 |
2016/11/18(金) 07:56:06.38ID:mgIvH7zu
>>153
SELECTするときも時間がかかってる?
0156NAME IS NULL
垢版 |
2016/11/18(金) 08:03:38.07ID:???
あとでrollbackされたときに備えて、delete予定データをいったんtempに吐いてるから
データ数が多いと死ぬほど遅い

生かすデータだけ別テーブルに吐いてtruncate tableして別テーブルをリネームしたほうが早い場合もある
0157NAME IS NULL
垢版 |
2016/11/18(金) 08:05:35.18ID:???
リレーション絡んでると無理だけど
0158NAME IS NULL
垢版 |
2016/11/18(金) 08:14:49.18ID:mgIvH7zu
>>156
そんな初心者みたいなアドバイスするなよw
0160NAME IS NULL
垢版 |
2016/11/18(金) 12:53:12.29ID:???
>>156
1000万件中10万件だけ残したいとか
そういう時はそっちの方がいいよね
truncateは本当に爽快
0161NAME IS NULL
垢版 |
2016/11/18(金) 13:09:12.94ID:mgIvH7zu
初心者スレかよw
0162NAME IS NULL
垢版 |
2016/11/18(金) 13:35:15.03ID:???
だけど、>>156 以外に方法ないんだな、これが
あと、1回あたりのdelete数を減らしてやって(その分、何回も回して)
1トランザクションあたりのロックを多少なりとも緩和するか
0163NAME IS NULL
垢版 |
2016/11/18(金) 13:39:05.15ID:???
自分の場合、1億レコードが1000万件を退避させるとき
SET ROWCOUNT 指定して、小刻みに削除してる
(トランザクションログが一杯になるのを防止)

それでも平気で一晩とかかかるが
0164NAME IS NULL
垢版 |
2016/11/18(金) 13:41:35.56ID:mgIvH7zu
>>163
おまえの環境なんか知らねえよw
0165NAME IS NULL
垢版 |
2016/11/18(金) 13:48:32.20ID:???
じゃ具体的な打開策を示してみろよ
0166NAME IS NULL
垢版 |
2016/11/18(金) 18:52:28.15ID:???
・復旧モデルを完全から単純にする
・テーブルロックを明示して削除する
・クラスターインデックスをやめる
・インデックスをドロップしてから削除

全部やって遅いなら、ハードを速いのに変えろ
0167NAME IS NULL
垢版 |
2016/11/19(土) 10:21:04.31ID:???
具体的には何も言えないチキン ⇒ ID:mgIvH7zu
0168NAME IS NULL
垢版 |
2016/11/19(土) 10:29:48.42ID:???
パーティションテーブルにできるならそれにしちゃえば?
あれならパーティション単位にトランケート 出来るらしいが
0169NAME IS NULL
垢版 |
2016/11/19(土) 11:41:15.25ID:???
色々あるもんだね
0170NAME IS NULL
垢版 |
2016/11/19(土) 12:44:15.23ID:QTm9YLIS
>>167
質問した本人がいないからな。
0171NAME IS NULL
垢版 |
2016/11/19(土) 15:34:55.16ID:???
truncate table に where 書けたら解決なのにな
それか、delete に「Rollback不能で構いませんから速くやってください」って with 句を準備してくれるか
0172NAME IS NULL
垢版 |
2016/11/19(土) 21:17:15.83ID:???
ロールバック不能で良いっていっても、その文でのアトミックは保障しないとだめだからなぁ
0173NAME IS NULL
垢版 |
2016/11/19(土) 22:46:43.49ID:???
>>154
これの下の質問書いた者です
不具合ではなさそうなのがわかったのですがどうしたものかと質問です。

select 番号,sum(金額)
from テーブルA
inner join テーブルB on 〜
inner join テーブルC on 〜
inner join テーブルD on 〜
where 〜
group by 番号

これの実行プランがテーブルDとの内部結合前にgroup byとsumしててInt型の上限越えてしまいました
テーブルDとの内部結合を先にやってくれてたらそのデータが除外されて問題なかったのにっていう結果
whereとjoinとgroupby って優先順位特にないんでしたっけ
確実なエラー回避方法がBIGInt変換くらいしか思い付かない
0174NAME IS NULL
垢版 |
2016/11/19(土) 23:12:30.44ID:???
>>171
deleteも結局はページ単位の処理になるからね、消すだけじゃなくページ間のインデックスも保持しなきゃとかいろいろやってるから
全部いらないから細かいこと抜きでってできるtruncateのようにはいかないよ
0175NAME IS NULL
垢版 |
2016/11/20(日) 01:43:45.15ID:???
>>173
SQLは手続き型言語ではないので実行順序はオプティマイザが決めるってのが原則
ある程度はオプティマイザへの指示をクエリヒントって形で出せるけど

Dの結合を先にするようにサブクエリ書いてFORCE ORDER指定で行けるかもしれんが
そんなSQLは保守性わるいし、基本的にはどんな実行計画でもエラーにならんようにしろとしか
0176NAME IS NULL
垢版 |
2016/11/23(水) 10:58:15.12ID:???
>>163
1億レコードって物凄い大きなDBですか?
どんなシステムなのか見当もつかない
0177NAME IS NULL
垢版 |
2016/11/23(水) 15:31:19.70ID:RVwlvGQS
>>176
誰もが知ってる会社のシステムならその程度は珍しくもないけど。
0178NAME IS NULL
垢版 |
2016/11/23(水) 20:11:21.26ID:???
>>176
全然普通じゃん
どんな仕事してん?
0179NAME IS NULL
垢版 |
2016/11/23(水) 21:48:35.25ID:???
>>178
むしろお前にどんな仕事してるのかを聞きたいわ
0180NAME IS NULL
垢版 |
2016/11/24(木) 00:03:09.24ID:nZ9WujKe
スカート捲ってもらって股間の香り嗅ぎながらチンポ握ると五分で発射寸前だよ。
二十歳ぐらいの女の子のナマパンツに顔を埋めて拭き取り漏れのお尻の穴のリアルな香りを嗅いで好き放題シコる。
この状況で一時間持つ意味が分からん。
0181NAME IS NULL
垢版 |
2016/11/28(月) 14:13:26.04ID:???
更新しなくてSELECTだけのストアドがあります。
パラメータは3つです。

返ってくる行は30行程度で
クエリエディタから実行すると精々1〜2秒で戻ってきます。

クエリエディタでやってることと同様のものを
System.Data.SqlClient.SqlCommand で作って ExecuteReader してやるんですが
ExecuteReader が終わるまで15秒ほどかかります。
条件のよいとき(クエリエディタで1秒のもの)でも8〜9秒です。

いったい何が原因なのでしょうか。
0182NAME IS NULL
垢版 |
2016/11/28(月) 14:34:48.86ID:???
解決しました。

ALTER DATABASE データベース名 SET ARITHABORT ON
で算術アボートを有効にしてやったら、クエリエディタと同じになりました。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況