問題タブ [sybase]
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.
java - jdbc statement.getWarning を返す sybase ストアド プロシージャの作成
JDBC を介して呼び出される sybase ストアド prodedure を作成しています。特定のエラー状態では、ストアド プロシージャが JDBC 呼び出し元に警告を返すようにします。ストアドプロシージャに何を追加する必要がありますか
選択したエラー メッセージを含む SqlWarning を返しますか?
odbc - QTP で使用できる ODBC から Sybase へのドライバはありますか?
QTP から sybase データベースへの接続に使用できるドライバーを探しています。
sql - Sybaseデータベースから、テーブルの説明(フィールド名とタイプ)を取得するにはどうすればよいですか?
コマンドラインisqlにアクセスでき、特定のデータベースのすべてのテーブルのメタデータを、場合によってはフォーマットされたファイルで取得したいと思います。どうすればそれを達成できますか?
ありがとう。
tsql - Sybaseのストアドプロシージャから選択するにはどうすればよいですか?
私のDBAは、Sybaseデータベースにストアドプロシージャを構築しましたが、その定義はありません。これを実行すると、列と値のセットを含む結果セットが返されます。結果セットの行を減らすために、さらにSELECTを実行したいと思います。これは可能ですか?
この質問から、結果を一時テーブルに挿入できるようですが、これを行うための権限があるかどうかはわかりません。
特定の行を選択する方法はありますか?そうでない場合は、一時テーブルでシミュレートするためのサンプルコードを教えてもらえますか?
windows - DOS/Windows バッチ ファイルからの Sybase SQL コマンドの実行
コマンド プロンプトから Sybase SQL コマンドを実行する方法はありますか。バグの修正として、マシン上で SQL クエリを実行するバッチ ファイルを作成する必要があります。
sql - SQL 文字列置換の回避策
私は、stuff、replace、または str_replace 関数を持たない Sybase 10 の修正バージョンで作業しています。多数のレコードで文字列の一部を置き換える必要があります。
これを回避してプログラムするための創造的な方法はありますか?すべて手動で行う必要はありませんか?
例:
編集: 文字列操作機能がないことがわかりました。一括文字列変更を行うには、エクスポートとインポートを行う必要があります。この質問はそのままにしておくので、私のようにあまり制限されていない他の人が答えを見つけることができます。
performance - Sybase のカバーされたインデックスの列の順序は、選択のパフォーマンスに影響しますか?
いくつかのインデックス (I1 ~ I5 など) を持つ大きなテーブルがあります。
使用パターンは次のとおりです。
アプリケーション A: すべての選択クエリは 100% インデックス I1 から I4 を使用します (I5 を使用しないよう十分に設計されていると仮定します)。
アプリケーション B: 選択クエリが 1 つだけあり (かなり頻繁に実行されます)、6 つのフィールドが含まれ、対象インデックスとして 5 番目のインデックス I5 が作成されました。
カバーされたインデックスの最初の 2 つのフィールドは、日付とセキュリティ ID です。このテーブルには、約 100 の日付 (クラスター化インデックス I1 によって適用される日付順) の行と、数万のセキュリティ識別子が含まれています。
質問: 対象となるインデックスの列の順序は、アプリケーション B の選択クエリのパフォーマンスに影響しますか?
つまり、インデックスの最初の 2 つのフィールド (日付とセキュリティ ID) を切り替えると、クエリのパフォーマンスが変わるでしょうか? 最後のフィールドの 1 つを切り替えると、クエリのパフォーマンスは変わりますか?
論理 IO は、カバーされたインデックス内のフィールドの順序の影響を受けないままであると想定しています (100% 確実ではありませんが)。
しかし、他のパフォーマンスへの影響はありますか? (オプティマイザーの速度、キャッシュなど...)
質問はバージョン ジェネリックですが、問題がある場合は、Sybase 12 を使用します。
残念ながら、表が膨大なため、実際に指数を変更し、その効果を定量的に確認することは非常に困難です。
performance - すべて同じ列で始まる複数のインデックスがあると、Sybaseオプティマイザの速度または精度に悪影響がありますか?
たとえば、5つのインデックス(1つはクラスター化)を含むテーブルがあります。
質問:5つのインデックスすべてが同じ正確なフィールドで始まる場合、オプティマイザーのパフォーマンス(インデックス選択の速度または精度)に何らかの悪影響を及ぼしますか?(他のすべてのものは等しい)。
会社の誰かから、パフォーマンスに悪影響を与える可能性があることが示唆されたため、インデックスの1つで最初の2つのフィールドを切り替える必要があります。
彼らは事実/理由で彼らの主張を裏付けなかったので、私は必要がなければ変更を避けたいと思いますが、その男は私が彼の提案を真剣に検討する傾向があるほど年配で賢いです。
注1:「where句と全体的なクエリに合わせてインデックスを調整する」という基本的な答えは役に立ちません。変更されるインデックスは、それを使用する唯一のクエリのカバーされたインデックスであり、したがって、その中のフィールドの順序はIO量には影響しません。その主張を確認するためだけに、別のSO質問をしました。
注2:そのフィールドはレコードが挿入された日付であり、これが重要な場合はテーブルがかなり大きくなります。約100日間のデータがあり、日付ごとの行数はほぼ同じです。最初のインデックスは、その日付フィールドで始まるクラスター化インデックスです。
performance - Sybase:非クラスター化インデックスの列の順序は挿入のパフォーマンスに影響しますか?
より具体的には(主題に対する一般的な答えは「はい」である可能性が高いため):
Sybaseには大量のデータを含むテーブルがあります。
列の1つは、「挿入日」(DATE、日時タイプ)です。
テーブルのクラスター化されたインデックスは「DATE」で始まります。
質問:別の非クラスター化インデックスの場合、列の順序(より具体的には、「DATE」が最初または2番目のインデックス列であるかどうか)は、挿入クエリのパフォーマンスに影響しますか?
他のすべてが等しいと仮定します。たとえば、2番目の非クラスター化インデックスの順序はselectクエリのパフォーマンスに影響しません(影響する場合でも、この質問の目的には関係ありません)。