Tip: Mail.app wieder schnell machen!

V

VXRedFR

Aktives Mitglied
Thread Starter
Dabei seit
03.06.2005
Beiträge
946
Reaktionspunkte
54
Hi!

auf Hawk Wings habe ich gerade den Bloeintrag entdeckt, um Mail.app wieder schneller zu starten.
Der Trick ist, die SQLite Datenbank zu komprimieren und alte Einträge die es nicht mehr gibt zu entfernen, bzw. zu optimieren.

Mail vorher beenden!

Im Terminal
Code:
cd ~/Library/Mail
sqlite3 Envelope\ Index
Im nun folgenden sqlite3 Prompt:
Code:
vacuum subjects;
eingeben.
Nach ein bisschen Zeit und Arbeit des sqlite3 kann man den Prompt wieder mit CTRL-D schließen und das Terminal beenden.

Vorher aber zur Sicherheit die Datei "~/Library/Mail/Envelope Index" wegsichern!

Ihr könnt auch vergleichen wie groß die "Envelope Index" vor der Aktion war und wie groß diese danach ist.
Mein Mail fühlt sich nun wieder richtig "snappy" an und der Index ist von 2.6MB auf 792kb geschrumpft!

Über Erfahrungen bin ich gespannt, vor allen bei denjenigen bei denen Mail mittlerweile etwas laaaangsam läuft ;-)
 
Zuletzt bearbeitet:
Also bei mir hängt sich da nur das Terminal auf, oder das dauert ne ewigkeit bis der die Sachen komprimiert hat. Bins grad mal am testen.

Gruß Duensch
 
Hi!

kommt natürlich drauf an wieviel Mails und wieviel Postfächer du hast. Bei mi hats auch gute 2-3 Minuten gedauert.

Aufhängen sollte sich da nix, nur Gedult haben ;-)
Laut den Kommentaren zum Blog-Eintrag auf Hawk-Wings hat das bei fast jedem einen deutlichen Schub gebracht...
 
Ein kleiner Fehler hat sich eingeschlichen:
Code:
vacuum subjects[B];[/B]
 
Ein bißchen einfacher...

ein kleines bißchen einfacher geht das, indem man Apple Mail beendet und dann im Terminal folgendes eintippt:

Code:
sqlite3 ~/Library/Mail/Envelope\ Index 'vacuum;'

Das erspart einem den SQL-Prompt und ist auch kürzer. Der in den meisten Anleitungen zusätzlich angegebene Tabellenname (meist »subjects«) wird ignoriert, kann also weggelassen werden.

Erklärung

Apple Mail speichert einige Daten (Adressen, Betreff etc.) in einer Datenbank, um schnellen Zugriff auf diese Daten zu haben. Mit der Zeit wird die Datenbank unordentlich. Beispielsweise wird, wenn E-Mails gelöscht werden, der frei werdende Platz nicht immer wieder genutzt. Das Phänomen ist unter dem Begriff »Fragmentierung« sicherlich den meisten ein Begriff.

Interessant ist, daß der manuell ausgeführte Befehl etwas bringt, obwohl für die Datenbank »Envelope Index« ein automatisches vacuum eingeschaltet ist. Überprüfen läßt sich das mit folgendem Befehl:

Code:
sqlite3 ~/Library/Mail/Envelope\ Index 'PRAGMA auto_vacuum;'

Ist das Ergebnis »1«, so ist auto_vacuum eingeschaltet.

Das Handbuch dazu findet sich unter http://www.sqlite.org/pragma.html#pragma_auto_vacuum.
 
Bei mir hats in der Tat auch etwas gebracht, wenn auch nicht viel. Mein Index schrumpfte von 6.2MB auf 5MB. Dauer: ca 20 Sekunden.
 
Zuletzt bearbeitet von einem Moderator:
hmmm scheint bei mir nicht so ganz zu funktionieren... wenn ich danach ein intelligentes Postfach anlege erscheinen dort auch emails von accounts die ich schon lange gelöscht habe...

ne idee?
 
Zurück
Oben Unten