Mam tabelę z nvarchar (max) typem danych kolumna. Maksymalna długość danych w tej kolumnie to 37000, wtedy nie mogę użyć nvarchar (4000). Jak mogę utworzyć indeks dla tej kolumny? Moje dane to tekst w Unicode w języku perskim.Jak utworzyć indeks na nvarchar (max) typ danych w sql?
Odpowiedz
1- można użyć go w „include”
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- lub może rozważyć użycie „CHECKSUM” metody. Jest przeznaczony do indeksowania hash buidling, szczególnie w celu zwiększenia szybkości indeksowania indeksowania kolumn długich znaków (jak masz). Możesz przeczytać więcej i znaleźć przykłady: http://msdn.microsoft.com/en-us/library/ms189788.aspx
tak, ale jaki jest sens indeksowania długiej kolumny tekstowej? Oprócz indeksu obejmującego (tj. Części obejmującej, a nawet wtedy użyłby jej wątpliwy optymalizator). –
To nie indeksuje kolumny. Po prostu włącza go do danych indeksowych. – gliljas
Najlepsze jest używanie DROP_EXISTING = ON
, które wykonuje przebudowę przy użyciu istniejącego indeksu.
Oto przykład
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. Zmiana kolumny danych z varchar (max) na nvarchar (max) w SQL Server 2008
- 2. SqlServer i nvarchar (max)
- 3. Zapytanie sql do konwertowania nvarchar na int
- 4. Zmień Pandy indeks typ danych na MultiIndex
- 5. W jaki sposób hibernować można mapować nvarchar (max) typu danych SQL?
- 6. Zmień typ danych varchar na nvarchar w istniejącej bazie danych SQL Server 2005. Jakieś problemy?
- 7. Czy mogę utworzyć kolumnę nvarchar (MAX) przy użyciu FluentMigrator?
- 8. Jak działa PIVOT na typ danych bitowych w SQL Server?
- 9. Fluent NHibernate automapping jako nvarchar (max)
- 10. Zmień typ kolumny z ntext na varbinary (max)
- 11. MS SQL: Konwertuj kolumnę Datetime na nvarchar
- 12. Jak przekonwertować numeryczne na nvarchar w komendzie sql
- 13. Czy indeksowanie poprawi wydajność zapytań varchar (max) i jak utworzyć indeks
- 14. Problem z Linq na SQL nvarchar
- 15. T-SQL - zmiana datetime na typ danych?
- 16. XML z kolumny SQL: Nie można wywoływać metod na nvarchar (max)
- 17. Jak mogę utworzyć indeks na Vertica?
- 18. Czy mogę utworzyć indeks "Covering, Spatial" w SQL Server 2008?
- 19. Jaki jest najlepszy typ danych SQL do przechowywania ciągu JSON?
- 20. Python min/max na Brak Typ
- 21. Jak wybrać indeks klastrowany w SQL Server?
- 22. Dla Nvarchar (Max) Mam tylko 4000 znaków w TSQL?
- 23. Nie deterministyczny typ danych w SQL Server
- 24. Jak zdobyć typ danych zmiennej jednolity
- 25. Konwersja nvarchar na int w celu dołączenia tabel SQL w widoku
- 26. SQL max wiersza tabeli
- 27. Co to jest odpowiednik PostgreSQL dla SQL Server NVARCHAR?
- 28. Jak utworzyć bazę danych ELMAH SQL Server?
- 29. Typ danych dla System.Version w serwerze sql
- 30. Jak zmienić każdą kolumnę nvarchar na varchar?
indeksowania kolumny tej długości wydaje się w dużej mierze bezcelowe .... Proponuję spojrzeć na Full Text Indexinhg –
Zobacz także http://stackoverflow.com/a/21624526/ 194717 – Tony