Databasfiloptimering

Undvik schemaändringar i databaser.

Undvik, om möjligt, att göra ändringar i schemat (tabellstrukturen) för en databas när du har lagt till data i databasens tabeller. I en databasfil finns vanligtvis tabelldefinitionerna i början av filen. När du öppnar en anslutning till en databas läses dessa definitioner in. När du lägger till data i databastabeller läggs dessa data till i filen efter tabelldefinitionsdatan. Om du gör schemaändringar kommer dock tabellens nya definitionsdata att blandas med tabelldata i databasfilen. Om du t.ex. lägger till en kolumn i en tabell eller lägger till en ny tabell kan det leda till att datatyperna blandas. Om alla definitionsdata för tabellen inte är samlade i början av databasfilen tar det längre tid att öppna en anslutning till databasen. Det tar längre tid att öppna anslutningen eftersom det tar längre tid för körtidsmodulen att läsa tabellens definitionsdata från olika delar av filen.

Använd metoden SQLConnection.compact() för att optimera en databas efter schemaändringar.

Om du måste göra schemaändringar kan du anropa metoden SQLConnection.compact() när ändringarna har slutförts. Med den här åtgärden omstruktureras databasfilen så att tabelldefinitionsdata samlas i början av filen. Åtgärden compact() kan dock vara tidskrävande, speciellt när databasfilen har blivit lite större.