1. A processor-implemented method of performing an inexact query transformation in a heterogeneous environment including a plurality of heterogeneous datastores, the method comprising: selecting a query element from a query statement; if an inexact transformation improves a performance of the query statement, selecting a plurality of candidate transformation rules applicable to the selected query element; prioritizing the selected candidate transformation rules; applying the candidate transformation rules to the selected query element to generate a transformed query element comprising a transformed remote query element; if the transformed remote query element is pushdownable to at least one heterogeneous datastore of the heterogeneous datastores, adding the transformed remote query element to a transformed inexact query output; applying the transformed inexact query output to the heterogeneous datastore; and applying the local query element to a query result returned from the heterogeneous datastore to provide a final query result.