Några metoder:
1. "Öka" hårdvaran" gör inte så mycket vad jag vet. Jag hörde för en tid sedan att FileMaker är som snabbast på desktop-datorer och inte på server-datorer (bladservrar, rackmonterade maskiner) för att FileMaker är ganska diskintensiv och desktop-maskiner skulle tydligen vara bättre på det. Jag vet inte om det är sant.
2. Nya FileMaker server skickar över mera av processandet till klienterna, vilket betyder att servern blir klar fortade och klienten får sortera upp det. Det kräver ju dock ett snabbt nätverk då mera data skickas mellan server och klient, så där kan man säkerligen lägga lite pengar och faktiskt se ett resultat.
3. Tänka annorlunda gör det - jag byggde en lösning en gång som fungerade som så att den som först loggade in i systemet på morgon automatiskt startade ett script som utförde en beräkning och lagrade värdet i ett fält. När detta jobb var klart så skedde inget samma dag när andra människor loggade in. Systemet kollade om scriptet som gjorde beräkningen redan var gjord idag och då utfördes den bara en gång. Denna beräkning hade att göra med att uppdatera en sak som ändrades ungefär dagligen förstås. Man hade även möjligheten att klicka på en knapp för att utföra beräkningen igen om man behövde.
4. Man kan flytta processorintensiva operationer till nätterna. Jag har byggt en robot i form av en MacMini åt en kund som har Applescript, FileMaker, Photoshop, Apple Remote Desktop och ett program som heter Script Timer. Den tar och processar bilder (konverterar från EPS till JPG) och sedan importeras dessa till FileMaker på morgonen klockan 07.00 varje dag. På samma sätt kan man ju göra med andra beräkningsintensiva funktioner, vid lämpliga tidpunkter startar roboten och utför beräkningar som lagras i databasen så att de inte behöver beräknas när de skall visas. Man kontrollerar och styr roboten med ARD, den behöver varken tangentbord eller skärm.
Det finns även andra plugins till Filemaker som får FileMaker att köra manus på bestämda tider, tex Events (Worqsmart) och Activator Plugin In (Troi Automatisering). I denna lösning var Script Timer bättre för jag ville köra Applescript på bestämda tider utan att behöva gå via FileMaker. Applescript kan ju köra manus i Filemaker också lätt, så...
5. En annan rolig metod är ju att använda FileMaker för vad det är bra på, mycket trevliga användargränssnitt och använda MySQL på det som MySQL är bra på, råa prestanda utan GUI.
Har man behovet så borde det inte vara speciellt svårt att exportera information från FileMaker (som tex CSV), sedan importera denna information i en MySQL-databas, skicka lite SQL-kommandon, exportera ut resultatet och sedan tillbaka in i FileMaker igen. Helt enkelt flytta hela beräkningsjobbet någon annan stans.
Detta går ju att göra eftersom Applescript kan styra både FileMaker och MySQL (via terminalen). Lägg till Script Timer som jag nämnde och en liten MacMini så kan du göra en väldans massa processande riktigt fort.
Ett experimet jag gjorde en gång för att importera en CSV-fil till en MySQL-tabell med hjälp av Applescript var att 12000 poster gick på några sekunder bara.
Om jag bara gissar mellan tummen och pekfingret så vet jag att export/import är snabbt i Filemaker (om inte alltför mycket skall indexeras) och detsamma gäller för MySQL. Så om den biten går att få utförd på några minuter (ut med data, in med data) så handlar ju frågan om hur lång tid det tar på hur fort MySQL kan utföra beräkningen ifråga. Om FileMaker tar en timme på sig och MySQL gör samma jobb (om det nu skulle vara så) på några minuter, så kan det ju lätt vara värt det.
Fick du några ideer nu?