Forum Discussion

cuongle's avatar
cuongle
Advocate II
9 years ago
Solved

How Power BI direct query optimise SQL

I am not sure that I understand how Power BI direct query works under the hood and whether Power BI optimise the query or not. Assume I have a filter (slicer with single selection) binding on column ColumnX in order to filter data on table: TableY

 

When user select value on slicer, does Power BI optimise query like:

 

SELECT * FROM TABLE tableY

WHERE ColumnX = 'Value'

 

Or, Power BI get all data from TableY and then filter happens in memory

 

 

  • cuongle

    For SQL Server, I've captured what Power BI does in direct query when selecting the slicer, with the help of SQL Server profiler. Power BI actually sends a query with where filter as you mentioned, instead of get all data and filter in memory, though the query is usually not efficient.  So I think the similar behavior is applied when connecting to other databases and it can be easily proved with individual profiler tools.

     

     

1 Reply

  • Eric_Zhang's avatar
    Eric_Zhang
    Microsoft Employee

    cuongle

    For SQL Server, I've captured what Power BI does in direct query when selecting the slicer, with the help of SQL Server profiler. Power BI actually sends a query with where filter as you mentioned, instead of get all data and filter in memory, though the query is usually not efficient.  So I think the similar behavior is applied when connecting to other databases and it can be easily proved with individual profiler tools.