2014-01-13 63 views
0

SQL Server中有沒有一種方法可以創建索引,而該索引中的數據不存在於表本身中?例如,創建一個指向主鍵的索引,但其中每行還包含DBA插入到索引中的自定義數據,其中此數據實際上並不存在於列本身中。將人造數據插入到SQL Server索引中

+0

不是.SQL Server不是dBase,你不能*將「隨機」數據插入到索引中。 SQL Server可以索引許多列 - 每個索引條目最多900字節 - 但任何你想要在索引**中的任何內容必須是被索引表的一部分 –

回答

2

不知道你在做什麼,但似乎你正在考慮比邏輯設計更多的物理實現。你所描述的是一個相關的表格,而不是一個索引。可以使用索引使其工作/執行完整性並具有合理的性能,但它們不是第一種情況下的存儲機制(不包括索引)。

+0

我想要做的是繞過全文搜索。就我能在網上找到的內容而言,全文將查找「word *」,但不會查找「* word」。我想如果我能夠對每個單詞進行兩次索引,一次是正常形式,一次是反向 - 並且操縱用戶搜索的字符串 - 這可能會起作用。但是,將每一個字符串存儲兩次,一次正常,一次反轉,然後將它們再次存儲爲全文索引,聽起來就像是對空間的極大浪費。 – user884248

+0

從某種意義上說,索引是「浪費空間」,它通常會將所需值存儲兩次。您是否考慮過計算列上的索引?這可能會訣竅。 – LoztInSpace

+0

@ user884248只要表達式是確定性的,您可以創建一個計算列和索引。或者是一個索引視圖,但是您應該提出一個關於全文搜索的根本問題的新問題。不是你提出的解決方案請參閱[什麼是XY問題?](http://meta.stackexchange.com/a/66378/145673) –