![]() |
Jag har en kolumn som är en VARCHAR(255). Nu vill jag ha ett index så att jag kan hitta alla värden som är NULL. Dvs
SELECT * FROM MYTABLE WHERE MYCOLUMN IS NULL Kan man strunta i att indexera själva texten i MYCOLUMN, och endast indexera huruvida värdet är null eller ej, och på så sätt få ett mindre index? Det jag *inte* vill göra är detta: CREATE INDEX MYINDEX ON MYTABLE (MYCOLUMN) Jag funderar på om det är möjligt att skriva: CREATE INDEX MYINDEX ON MYTABLE (MYCOLUMN(0)) alternativt CREATE INDEX MYINDEX ON MYTABLE (MYCOLUMN(1)) Är det någon som vet? |
Tveksamt om det är standardiserat. Sök på "Partial Indexes". Hur som helst bör du ändå kolla upp exakt hur din SQL-databas fungerar. Vilken använder du?
|
Jag använder MySql.
|
Enligt mysql.com så är det möjligt att göra ett index på en del:
Citat:
Update: Ja det borde gå som du beskrev |
Kan du inte lägga till en extra kolumn i tabellen som talar om ifall att MYCOLUMN är NULL eller inte. Sedan kör du ett index på den extra kolumnen istället för direkt på MYCOLUMN?
|
Alla tider är GMT +2. Klockan är nu 07:49. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson