我有一個包含nvarchar(max)數據類型列的表。此列中數據的最大長度爲37000,那麼我不能使用nvarchar(4000)。我怎樣才能爲這一欄創建索引?我的數據是波斯語的unicode文本。如何在sql中的nvarchar(max)數據類型上創建索引?
9
A
回答
11
1,你可以用它在「包含」
IF OBJECT_ID('tempdb..#example') IS NOT NULL
BEGIN
DROP TABLE #example
END
CREATE TABLE #example (id INT PRIMARY KEY IDENTITY(1,1), name VARCHAR(MAX))
CREATE NONCLUSTERED INDEX IDX_NC_temp_example_name ON #example(id) INCLUDE(name)
2,或您可以考慮使用「校驗」的方法。它的目標是建立散列索引,尤其是爲了提高索引長字符列的索引速度(就像你所擁有的那樣)。 您可以閱讀更多並查找示例:http://msdn.microsoft.com/en-us/library/ms189788.aspx
+1
是的,但索引長文本列有什麼意義?除了覆蓋索引(即包含的一部分,即使其可疑優化器會使用它) –
+0
這不會索引列。它只是將其包含在索引數據中。 – gliljas
1
最好是使用DROP_EXISTING = ON
,它使用現有索引進行重建。
下面是一個例子
CREATE NONCLUSTERED INDEX IDX_NC_temp_example_name ON #example(id) INCLUDE(name)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = ON, SORT_IN_TEMPDB = ON, DROP_EXISTING = ON, ONLINE = ON, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
相關問題
- 1. Hibernate如何映射SQL數據類型nvarchar(max)?
- 2. 如何在C#中創建NVarchar(max)SqlParameter?
- 3. 如何在SQL Server的varcher數據類型列中輸入nvarchar數據類型?
- 4. SQL Server中的數據類型nvarchar? Asp.net?
- 5. SQL Server Nvarchar(max)
- 6. sql server 2005 - 導出nvarchar(max)數據
- 7. 如何在大型SQL表上創建新索引
- 8. 將字段類型從nvarchar(255)更改爲SQL Server 2005中的nvarchar(Max)
- 9. 如何在sql中創建索引列?
- 10. SQL Server - nvarchar字段上的索引
- 11. 如何在SQL Server中存儲和檢索圖像VARBINARY(MAX)數據類型
- 12. 轉換爲nvarchar(max)數據類型爲字符串的Java
- 13. 如何在類型對象上創建索引?
- 14. 如何在MS SQL Server 2014中創建新的數據類型?
- 15. SQL:如何爲nvarchar數據類型中比較日期值
- 16. 如何使用Nvarchar(max)參數創建CLR存儲過程?
- 17. 在排序數據上創建索引
- 18. 一個nvarchar列創建的SQL Server索引
- 19. SQL Server文本數據類型或Varchar(max)會創建數據庫太大
- 20. 在SQL Server 2008中將數據列從varchar(max)更改爲nvarchar(max)
- 21. SQL Server varbinary(max)圖像數據類型
- 22. 在SQL Server數據庫上創建Lucene索引
- 23. NVarChar到C#數據類型
- 24. 解析sql中的nvarchar(max)數據字段
- 25. neo4j沒有在大型數據集上創建索引
- 26. 如何在CLR UDF中返回nvarchar(max)?
- 27. MAX在INT和VARCHAR數據類型的t-SQL中的功能
- 28. 如何在索引數據庫上創建列/對象
- 29. 如何在海量數據上創建索引(mysql)
- 30. 如何在SQL Server 2008中將所有varchar數據類型列更改爲Nvarchar數據類型列
索引該長度的柱似乎很大程度上毫無意義....建議你看看全文Indexinhg –
參見http://stackoverflow.com/a/21624526/ 194717 – Tony