I have often wondered if you couldn't put the needed database indexes and other associated data onto a GPU , and have the GPU handle the optimization for the query, run the query, and then just return to the database server which blocks to go to to get the data; the indexes could be synced to disk of course but they would be run from the GPU.