私は非常に遅く実行されている一連のT-SQLクエリを使用しています。私が疑問に思っている質問の一部は、いくつかの問題を引き起こしています。SQLの列のグループを効率的にキャストする
これは問題です。私は4つの列をnvarchar/varcharとして組み合わせる必要があります。それらの組み合わせは、別のテーブルのエントリーの(半分)ユニークなキーです(恐ろしいアイデアですが、私はそれに固執しています)。
4つの列は次のとおりです。 t_orno、t_reno、t_pono、t_srnb:インデックスのないすべてのINT列。
私はこれをやっている方法はとても似ている:
Cast(t_orno AS nvarchar(10)) + '-' + Cast(t_reno as nvarchar(10)) +
'-' + Cast(t_pono as nvarchar(5)) + '-' + Cast(t_srnb as nvarchar(5))
は、残念ながら、私は一緒にこれらの列をマージすることでこだわっています。これを行うより良い方法はありますか?クエリはより効率的である必要があり、4つすべてを個別にキャスティングするよりも良い方法が必要ですか?
は想定:データベースが完全に不変であること - 悲しげにそれはある...(それに取得する必要はありません。)あなたの助けを
感謝を。
EDIT:要求ごととして、表の詳細は:
一つだけのインデックスが含まれているから照会されている両方のテーブルには、それがPK列です。これらのテーブルでは何も追加/変更できないことに注意してください。
結合されるテーブルには、次の4つの列の組み合わせが含まれます。 BaanID> nvarchar、インデックスなし。
問題のテーブルのデータ構造(インデックスを含む)と、それらを結合するために使用しているクエリを含めることができますか? –
@ MarkBannisterよく複雑なCTEが含まれている改善すべき約5種類のクエリがあります。それらを提供し、何が起こっているのかを説明することは非常に難しいでしょう。これが私がクエリのこの側面に焦点を当てた理由です。私はより多くの情報を追加しようとします。 – ImGreg
@ MarkBannister他に関連する情報が含まれているかどうか不明です。興味のあるものがあれば教えてください。 – ImGreg