one of the major speed issue with FileMaker's immensely useful ExecuteSQL function, is that the query can be really slow the first time it runs because all the related records have to be downloaded from the server to the client, because it's the client that executes the function.
Running the query a second time, then, its magnitude order faster because all the data are cached on the client.
FileMaker does this so it's because the query can be affected by fields whose contents is only known by the client (global fields for instance). But that foolproofness has the major speed issue aforementioned.
Experienced devs probably wouldn't ever use queries with fields depending on the client (or at least they'll do it in very rare occasion), and you most often need to launch the query once. That means that the foolproofness built-in is almost never used, but kicks its performance issue every time.
So I suggests that we have a new FileMaker function that will execute the query on the server (the host) of the data. But not like PSos. It would only work on stored data, and won't need a new client session to be created. It would work on the server opened hosted file directly and thus wont need a extra loading for the records (or at least the cache will be the server cache so much more effective because the file would have been cached already during the server running time).
it would be a major speed benefit, and even more in go