I attempted to use the ExecuteSQL statement below to count the number of unique records in my Orders Table of 5200 rows. The hope was that the SQL statement would be faster than using traditional Filemaker self-joins. In addition, the goal was to reduce the number of TOs in the solution. After creating the calculation field c_unique_count = ExecuteSQL („SELECT COUNT (DISTINCT Current_File_Number) FROM OrdersTable“ ; „“ ; „“) spent an averaging 38 seconds per record until I force quit Filemaker. I estimate Filemaker would need 54 hours or runtime on a 3.5 GHz i5 based iMac to complete this common task. Needless to say this was an unacceptable solution.

I created a tiny test database that imported 1500 words and used the above ExecuteSQL statement to count the unique words. Again the ExecuteSQL statement was abysmally slow taking over 65 minutes for a 1500 word list of only 14,000 bytes!

Is this normal? Is the SQL engine in Filemaker a generally poor performer? (I suspect it is because it is not native SQL) Does anyone have some thoughts on how to improve the performance?

Powered by WPeMatico