What practices will help me write an efficient query against a large partitioned table? Table Properties: 


Row Count: 276,027,782
Number of Partitions: 68


I'm looking to create a report off of one large table. I have a view which holds customer info. To return data of interest for 1 Client/Customer, it takes about 2 minutes. I have about 2200 Clients that I need to return data for. I'm joining on indexes and as far as I can tell I'm hitting the latest partition. As I'm returning data from 1/2017 onward. I'm looking for solutions or ideas that would speed up the code below:  

select distinct
 vc.ClientID 
,left(datestamp, 6) Month
,count(*) over (partition by left(datestamp, 6)) Cnt
,avg(delta) over (partition by left(datestamp, 6)) Perf
,percentile_cont (0.5) within group (order by delta) over (partition by left(datestamp, 6)) Median
,percentile_cont (0.90) within group (order by delta) over (partition by left(datestamp, 6)) Perc90
,percentile_cont (0.95) within group (order by delta) over (partition by left(datestamp, 6)) Perc95
,percentile_cont (0.99) within group (order by delta) over (partition by left(datestamp, 6)) Perc99
from schema.Monitor pm
    join Reporting.dbo.vwClient vc 
        on pm.Institution_ID = vc.ClientID 
            and vc.ActiveFlag = 1 
            and vc.TestFlag = 0 
            and vc.AccountType = 'Customer'


WHERE pm.LogInfo like ('StringFilter') -- no int or id value to filter on

--and pm.IID = @clientID -- filter for 1 customer
ORDER BY
 left(datestamp, 6) desc
Partitions do not really matter if you have proper indices. So, the practice is to learn your tools.

Partitions are not more effective than an index - they are there for managing data, i.e. fast delete (swapp out a partition in a millisecond instead of spending hours deleting 12 billion rows in it).

So, the question is: How do I make this query faster - without partition.

Start by deleting the distinct. Go on by actually givine a query plan and - with 2200 clients, please tell us about the server cluster you use to handle the load.