2012-04-30 3 views
1

(SQL Server 2005を使用して)テーブルのいくつかの列に全文索引を作成する必要があります。レコード長は行サイズ(8KB)よりも大きくなります。私は単純に行の長さを無視するか、またはこれのための任意の解決策ですか?状況は次のとおりです。SQLサーバー。全文索引または行の長さを使用しますか?

レコード全体(レコードのすべてのテキスト列、たとえば記事など)に関連する行IDとランクを取得するには、この表のすべてのテキスト列を含む表を作成する必要があります。しかし、私は合計で8KBの行サイズ(SQLサーバーによって定義される)を超えるいくつかの大きな列を持っています。

現在の状態:すべての言語のすべてのテキストが一つのテーブルにあります。

idParent | langId | textType | content 
------------------------------------------------- 
12  | en  | title | 'Title of article' 

新しい状態:フルテキストインデックスから右のランクを取得する:

id | title | contentA | contentB | contentC | contentD | contendE | content F ... 
---------------------------------------------------------------------------------- 
12 | 'Title' | ... 

私は、言語の特性の利益のためにしたい場合全文索引のうち、他のテーブル/列に異なる言語のデータを格納する必要がありますか(列に言語を設定できるようにするには)?または、lang識別子(lang idを含む列)を持つ1つのテーブルにデータを持つ他の解決法はありますか?

ありがとうございました。

答えて

0

私はあなたの最初の質問を理解していませんでした、あなたはより明確になることができますか?

2番目の例では、フルテキストをさまざまな言語で動作させたい場合は、カタログの各言語の列に含める必要があります。全文は照合に大きく依存します(異なる言語=異なる照合)

+0

これは私の質問の最初の部分で「はい、行の長さの制限を無視してください」と答えたようです。それは本当に本当ですか? – Fanda

+0

いいえ、私が言ったように、私はあなたの最初の質問を理解できませんでした。だからこそ私は2番目の回答にしか答えませんでした – Diego

+0

私は最初の質問を編集しました。ありがとうございました。 – Fanda

関連する問題