問題タブ [sql-server-2000]
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 - データベース インデックス: 選択のみ!
良い一日、
約 4GB のデータがあり、約 10 個の異なるテーブルに分かれています。各テーブルには多数の列があり、各列をクエリの検索条件にすることができます。私は DBA ではありませんし、インデックスについても詳しくありませんが、できるだけ検索を高速化したいと考えています。重要な点は、いつでも更新、挿入、または削除が行われないことです (テーブルは 4 か月に 1 回作成されます)。すべての列にインデックスを作成するのは適切ですか? 覚えておいてください: 挿入、更新、または削除ではなく、選択のみです! また、これらの列をすべて varchar ではなく整数にすることができれば、速度に違いはありますか?
どうもありがとうございました!
sql - SQL Server 2000 で英数字を正しく並べ替える方法
Microsoft SQL Server 2000
テーブル A に Name という名前の列があります。名前フィールドをソートしたい。Name start のすべてではありませんが、多くのレコードが KL であり、その後に数字が続きます (KL 1234、KL 2、KL 323 など)。
表 A
名前
エイブル
ブラボー
KL 2
KL 323
KL 1234
ゼブラ
私が使用する場合
私は得る
エイブル
ブラボー
KL 1234
KL 2
KL 323
ゼブラ
私が欲しい
エイブル
ブラボー
KL 2
KL 323
KL 1234
ゼブラ
それらがすべてKLで始まる場合、私は使用できます
ただし、これにより、KL で始まらない値に対して「名前を big int としてキャストできません」というエラーが生成されます。
助けてくれてありがとう。
sql-server - SQL Server 2000 で現在実行中の SQL ステートメントの実行計画
DBA が SQL Server 2000 で実行時間の長いクエリの実行計画を覗く方法はありますか? fn_get_sql() を使用して実行中の SQL を取得する方法を知っています。はい、理論的には、新しい接続を開いて環境フラグを同じに設定すると、SQL に対して同じ計画が生成されるはずです。ただし、私はデータ ウェアハウス環境にいて、このクエリはその間にデータをロードして 12 時間実行されているため、新しい計画が古い計画と一致するという保証はありません。サーバーが何をしているかを正確に知りたいだけです。
いいえ、計画を確認して、インデックスと結合のヒントを使用してより適切に実行できることが確実にわからない限り、現在実行中のステートメントを強制終了するつもりはありません。
更新: 私はとても近いと感じていますが、それでもできると思います. 2K5以降なら確実にできます。syscacheobjects 仮想テーブルを見ると、キャッシュされたプランごとにオブジェクト ID があります。これらの ID で sp_OA* メソッドを呼び出すことはできますが、オブジェクト モデル (独自仕様) の知識がなければ、どこにもたどり着けません。
ftp - SQL Server 2000 FTP
SQL Server 2000 DTS パッケージを使用して FTP サーバーからファイルをダウンロードしようとしています。ただし、DTS の FTP モジュールは、ftp ログインの「ホーム」ディレクトリ内のファイルのみを表示します。接続したら、リモート ディレクトリを変更する必要があります。どうすればいいですか?FTP タスクの [ファイル] タブで、ディレクトリを参照することができます。参照する必要があるディレクトリは、ホーム ディレクトリの「上」にあります。
どうもありがとう。
sql - SQL CASE ステートメント
SQL Server 2000 で次のことは可能ですか?
ありがとう。
sql - SQLで日付を検索するには?
必要なイベント管理システムを持っていますが、
イベントが 5 日間 (2009 年 1 月 21 日から 2009 年 1 月 26 日) 登録された場合、別の人が 2009 年 1 月 22 日から 2009 年 1 月 24 日までのイベントを登録したい場合、登録は許可されません。これをSQLクエリで確認したいのですが、どうすればよいか教えてください。
sql-server - SQL Server から Excel 2007 へ - 改行
SQL Server 2000 サーバーからデータを取得して、Excel に配置しようとしています。これは簡単に聞こえます。現在、Management Studio からコピーして Excel に貼り付けています。
問題は、列の 1 つがアドレスであり、改行が保持されていないことです。これらの新しい行は、Excel の同じセルにとどまる必要があります。IE は、住所の 3 行に対して 3 行を占めることはできません。
SQL データには CHAR(10) と CHAR(13) が含まれており、他のソフトウェアはこれらを正しく認識します。
編集:申し訳ありませんが、私は言及するのを忘れていました。行がセルに存在するようにしたいのですが、複数のセルにまたがってはいけません。
sql-server - SQL Server インデックスが役に立たない
10,000,000 レコードを超えるテーブル (SQL 2000) があります。レコードは、1 週間あたり約 80,000 ~ 100,000 の割合で追加されます。週に一度、データからいくつかのレポートが生成されます。インデックスがほとんどないため (おそらく INSERT を高速化するため)、通常、レポートの実行はかなり遅くなります。1 つの新しいレポートでは、特定の「char(3)」列にインデックスを追加することで、実際にメリットが得られる可能性があります。
Enterprise Manager (インデックスの管理 -> 新規 -> 列の選択、OK) を使用してインデックスを追加し、テーブルのインデックスを再構築しましたが、SELECT クエリはまったく高速化されていません。何か案は?
更新:
テーブル定義:
私のテストクエリは次のとおりです。
excel - ExcelをSS2000にインポートします。フィールドでのエラー。DTS
DTSを使用してExcelファイルをSQLServer2000データベースにインポートしようとしています。これは派手なものではなく、単なるインポートです。私が働いている場所では、これを1日に1000回行います。この手順は通常問題なく機能しますが、ファイル内で何かが変更されている必要があります。
以下のエラーが発生します:
「AssignmentID」列が「テキスト」としてExcelシートに保存されていることを確認しました。私もそれを一般に変更しようとしました。設定に関係なく、まったく同じエラー。フィールドには数字が含まれています...これについてみんなの助けに感謝します!
よろしく、
フランク
sql - SQL Server 2000 での最適化のための OR での UNION の強制
WHERE 句で OR を使用して、コンパイル中に UNION を使用して 2 つのクエリに分割するクエリを取得するにはどうすればよいですか? 手動で書き直すと、UNION を使用したクエリは、単一のクエリよりも 100 倍高速になります。これは、ユニオンの各クエリで異なるインデックスを効果的に使用できるためです。オプティマイザにこのアプローチを使用させる方法はありますか?
次のようなクエリがあります。
ここで、columnlist、joincond2、joincond3、および conditions1 はすべて長い式です。キッカーは、OR の条件の 1 つだけが真になることです。
最初はユニオンを実行するように書き直せると思っていましたが、columnlist、joincond2、joincond3、および conditions1 を繰り返しています。これは、将来多くのメンテナンスが必要になる可能性のある 20 行ほどの SQL 行です。私が提供できるヒントや、WHERE句を書くためのより良い方法はありますか? 前もって感謝します。