Menu

21 februari 2009

ScreencastOS X Mail versnellen (envelope index opschonen)

De OS X Mail applicatie maakt gebruik van een SQLite database waarin diverse tabellen (Envelope Index) worden bijgehouden met email adressen, referenties naar attachments en onderwerpen. Het nadeel van deze Envelope Index is dat hij constant in grootte groeit en dat de Mail applicatie hier zelf geen actie op onderneemt. De Envelope Index is dan ook vaak de boosdoener wanneer Mail steeds trager opstart.

Je kunt doormiddel van Terminal en het sqlite commando vacuum handmatig de Envelope Index opschonen, wat resulteert dat de index met zo’n 30 a 40 procent in grootte afneemt.

Sluit OS X Mail af en open een Terminal sessie en typ de onderstaande commando’s:

cd ~/Library/Mail
sqlite3 Envelope\ Index

Hierna verschijnt sqlite>, typ hier:

vacuum subjects;

Wanneer het commando is uitgevoerd verschijnt opnieuw sqlite>, doormiddel van Control+D kan je sqlite commandline tool afsluiten.

De Envelope Index is nu opgeschoond doormiddel van het vacuum commando en je zal merken dat de OS X Mail applicatie aanmerkelijk sneller opstart.

Zie de screencast:

Dit artikel is verouderd en kan misschien niet meer van toepassing zijn in jouw huidige OS X (macOS) versie. Gebruik de zoekfunctie om te zoeken naar een recentere uitleg.




Gerelateerde tips:




Reacties


  • maurits 21 februari 2009 om 10:28

    super tip!!!! mail start heeeeeel snel op nu! bedankt

  • Stefan 21 februari 2009 om 10:50

    In het eerste commando staat Bibliotheek, dit werkte bij mij niet, hij kon de directory niet vinden ondanks dat ik een NL systeem heb. Heb hier Library van gemaakt toen werkte het wel. Misschien moeten jullie dit even in de tip erbij vermelden.

  • ironmanixs 21 februari 2009 om 10:53

    @Stefan: aangepast, bedankt!

    Finder geeft Bibliotheek aan en onder Terminal blijft het gewoon Library….

  • Artishoque 21 februari 2009 om 11:46

    Is dit niet gewoon exact hetzelfde als Mail –> menu ‘Mailbox’ –> optie ‘Rebuild’?

  • Sniffy 21 februari 2009 om 11:53

    Nope… rebuild doet niets met de envelope index…

  • Matthias 21 februari 2009 om 16:37

    nice!!
    Van een opstart van 3 seconden naar 1.. toch wel fijn!

  • ppl 21 februari 2009 om 18:32

    Het nadeel van deze methodiek is dat het ook je Mail om zeep kan helpen. Dan ben je dus alles kwijt. Wees dan ook heel zorgvuldig en doe dit alleen wanneer je echt niets te verliezen hebt (m.a.w. je hebt een backup gemaakt en je weet zeker dat die terug te zetten is!).

  • Marijn 21 februari 2009 om 23:29

    Hallo,

    GOEDE TIP…. Mail is nu mega snel met opstarten!!!
    Heb je ook zo’n goede tip voor het sneller laten starten van iTunes????

    Zou fijn zijn want met een kleine 100 afspeellijsten neemt iTunes ook de tijd met opstarten.

    Ben benieuwd

    grt
    Marijn

  • Denise 22 februari 2009 om 10:56

    Wauw! Bestond dit maar voor alle programma’s op mijn Macje ;)

  • Andre 22 februari 2009 om 13:03

    — Goede tip. Heb er een script voor gemaakt.
    — Ik probeer er nog een applicatie van te maken zodat de terminal niet nodig is.
    — knip vanaf hier —

    (*
    Dit script zorgt voor het opschonen van de mail database (Envelope Index)
    Deze staat in de folder ~/Library/Mail/
    Gemaakt door andre vink ( http://www.andrevink.nl)
    Datum : 22 Februari 2009
    Na een tip op : http://www.appletips.nl
    *)

    try
    set MailRunning to false
    repeat
    tell application "Finder"
    if (get name of every process) contains "Mail" then
    set MailRunning to true
    tell application "Mail" to quit
    delay 0.5
    else
    exit repeat
    end if
    end tell
    end repeat
    on error
    display dialog "Sluit Mail.app en start dit script opnieuw"
    quit
    end try

    tell application "Terminal"
    activate
    tell application "System Events" to tell process "Terminal" to keystroke "t" using command down
    do script "cd ~/Library/Mail; sqlite3 Envelope\\ Index" in front window
    do script "vacuum subjects;" in front window
    tell application "System Events" to tell process "Terminal" to keystroke "D" using control down
    end tell

    if MailRunning is true then tell application "Mail" to activate

  • Jan van der Ploeg 22 februari 2009 om 19:00

    Geweldig, wat een verschil. Dank voor te tip, blij mee!

  • Nils Breunese 23 februari 2009 om 0:14

    Het kan ook met één commando in plaats van vier:

    $ sqlite3 ~/Library/Mail/Envelope\ Index 'vacuum subjects;'

  • Koen Van der Auwera 24 februari 2009 om 13:40

    Er zijn nog verschillende andere scriptjes beschikbaar: http://www.hawkwings.net/2007/03/03/scripts-to-automate-the-mailapp-envelope-speed-trick/

  • T-Boy 25 februari 2009 om 12:51

    Goei bezig jongens… graag meer van dergelijke tips!

  • araphor 25 februari 2009 om 23:13

    Sinds ik deze tip heb uitgevoerd crasht mail.app zodra het mail gaat binnenhalen met de volgene melding. Misschien is het toeval. Meer mensen dit probleem gehad?

    Terminating app due to uncaught exception ‘WebKitThreadingException’, reason: ‘NSData* -WebArchive data(WebArchive*, objc_selector*) was called from a secondary thread’

  • ironmanixs 25 februari 2009 om 23:19

    Dit wordt veroorzaakt door Safari 4…
    Zie: http://discussions.apple.com/thread.jspa?messageID=9053188

  • L 27 februari 2009 om 17:43

    Maar heeft het opschonen van die Envelope Index nog andere gevolgen apart van dat Mail sneller opstart?

  • Arjen 8 juni 2009 om 9:13

    Heb het ook gedaan.

    Mail start idd sneller op.
    Had ik maar eerst even alle opmerkingen erbij gelezen.

    Ik ben nu alle mail kwijt!!!!!!!!!!!!!!!!!
    Balen dus.

    Groetjes Arjen

  • Robert 3 februari 2010 om 9:01

    FF een back up maken van Mail

    http://docs.info.apple.com/article.html?artnum=42938-en

  • Hans 3 februari 2010 om 11:41

    Werkt als een trein.
    Tip: alleen backup maken van “˜/Library/Mail/Envelope Index” moet voldoende zijn.

Een reactie toevoegen: