odbcを介してx++から非axテーブル(少なくとも部分的に)に対して実行されるsql-queryがあります。sql-query-execution-planは、参照するax-tableにインデックスを追加することを提案します。例:
CREATE NONCLUSTERED INDEX [] ON [([field1])INCLUDE([several fields])
ax-tablesのmanagement-studioを介してこれらのインデックスを作成するのは良い考えではなかったことを覚えていますが、axを介してそのようなインデックスを作成するにはどうすればよいですか?includeブロックのフィールドは、単にフィールドリストに追加する必要がありますか?
別のインデックスヒントはもっと簡単なものでした:
CREATE NONCLUSTERED INDEX [] ON []([field1]、[field2])
ただし、関連テーブルと名前付きフィールドのaxにこのインデックスを作成する場合でも、クエリアナライザはこのインデックスを作成することを提案します。
sql managmement-studioでこのインデックスのcreate-statementを表示すると、dataAreaID-columnが(自動的に)含まれます。
ヒントはありますか?前もって感謝します!
コメントへの回答:
これは、x++から実行されるSQLクエリです。使用されるテーブルは部分的にax-tablesであり、部分的にそうではありません。欠落していると思われる唯一のインデックスは、ax-table上のインデックスです。
インデックスの最適化については一般的に説明したくありませんでしたが、最初の「create-index-query」の「include ...」部分を表すインデックスをaxに追加する可能性があるかどうかを尋ねてください!
axの外部のクエリでDAID列を考慮するという事実を確かに知っています-実際にはこのインデックスがすでに存在しているのに(DAIDに関して)、management-studioがfieldA+fieldBの欠落しているインデックスを批判していることに驚いています。
ありがとう4返信!