webForumDet fria alternativet

Optimera/Reparera MS SQL

Databaser & SQL

6 svar · 366 visningar · startad av dekt

Medlem sedan jan. 2001101 inlägg
Frågan#1

Med MySQL kan man ju optimera tabellerna så att det blir snabbare.

Kan man göra samma med MS SQL? Hur?

Medlem sedan juli 200012 978 inlägg
#2

Om jag förstår din fråga så skulle du vilja ha posterna, i ordning det mest använda indexet?
Jag tror inte att det finns någon sådan funktion. Manuellt går det ju att göra.

Medlem sedan jan. 2001101 inlägg
#3

Nej alltså i MySQL kan man köra kommandot OPTIMIZE TABLE Tabellnamn för att den ska bli optimerad. Vet inte hur det funkar, men efter det går allt snabbare iaf.

Medlem sedan dec. 1999757 inlägg
#4

Det är nog mer än myt att det skulle gå snabbare. Vad OPTIMIZE TABLE gör är att plocka bort allokerat utrymme som efterlämnas när du t.ex. raderar en rad. Det är naturligtvis önskvärt att utnyttja detta men knappast någon prestandaförbättring värt namnet vid normal användning av webbapplikationer. Är det snabbhet man eftersträvar så är nog en genomtänkt indexering ett bättre alternativ.

Medlem sedan jan. 2005327 inlägg
#5

shrink database
Det finns iallafall från enterprisemanager.
Kan läggas som schemalagd jobb från sql-agent.

Jag vet inte om det går att göra på enskilda tabeller. Jag har alltid använt det mot en helDB.
Och det den gör är som nämnt ang optimize, dvs tar bort "tomt"utrymme.
Har man tabeller som applikationer gör inset och delete i. Dvs att det skapas och tas bort massor av poster så kan det vara en ide.

/pebi

Medlem sedan dec. 1999757 inlägg
#6

Det finns också en valmöjlighet per databas i Options-fliken att välja Auto shrink.

[r]
Kanske inte ska rekommendera Auto shrink efter att läst den här artikeln då tydligen prestanda påverkas negativt.
Vi kör det dock på våra produktionsservrar och har inte upplevt någon märkbar skillnad men ska väl sättas i relation till användning/maskinvara.

Medlem sedan juli 200012 978 inlägg
#7

Trots allt så är detta en viktig fråga.
Om man har statiska tabeller typ postnummer per ort skall dom läsas ut och läsas in i rätt (den mest använda sorterings,sök) ordningen.
Då detta är ett försummat kapitel tycker jag att det skall finnas rutiner för att göra detsama med exempelvis Kundtabellen. Orderhuvud osv .
Då bör man kunna höja prestanda. Om man gör detta månadsvis eller så.
Hur många databaser har sedan överflyttningsrutiner till Statiska databaser och bara behåller vad jag brukar kalla "en levande kärna" Man kan faktiskt lägga knyttabbeller så att när man söker på ett äldre ordernummer hänvisas frågan till en annan db exempelvis order2002. Det är en bra fråga och det finns flera svar.

256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)