kat.korson@redeagle.tech

Hi! I'm the founder of Red Eagle Tech, a London-based tech company offering software development solutions, automation, integration, business intelligence solutions and beyond.
  • Interests: Software Engineering, all things tech
  • Skills: software development, sql server, power BI DirectQuery, user experience design, B2B

SQLServerCentral Article

What Power BI DirectQuery does to your SQL Server (and how to fix it)

Power BI DirectQuery can quietly overwhelm your SQL Server. Unlike Import mode, DirectQuery sends live T-SQL for every visual interaction, multiplying queries and placing heavy analytical load on the database. This article explains how to identify the worst offending DirectQuery queries, why the generated SQL is often inefficient, and what you can do from the database side, including indexing, Query Store, and reporting views, to improve performance. It also outlines practical changes on the Power BI side and when DirectQuery is simply the wrong architectural choice.

★ ★ ★ ★ ★ ★ ★ ★ ★ ★

(6)

You rated this post out of 5. Change rating

2026-04-20

5,244 reads

Blogs

Keeping Track of my ConEmu CLIs

By

I use ConEmu for my terminal interface. I’m still on Windows 10 at home,...

10 Decisions to Make Before You Create A Fabric Workspace

By

Creating a Fabric workspace takes about 30 seconds. Restructuring workspaces after people have built...

Flyway Tips: Object History

By

It’s a small change, but a handy one. Flyway Desktop (FWD) now includes the...

Read the latest Blogs

Forums

Adding new column with DEFAULT II

By Thomas Franz

Comments posted to this topic are about the item Adding new column with DEFAULT...

Advanced Deployment Scenarios: Stairway to Reliable Database Deployments Level 7

By Massimo Preitano

Comments posted to this topic are about the item Advanced Deployment Scenarios: Stairway to...

You Need a DBA Pipeline

By Steve Jones - SSC Editor

Comments posted to this topic are about the item You Need a DBA Pipeline

Visit the forum

Question of the Day

Adding new column with DEFAULT II

Which number did the two COUNT(*) return:

DROP TABLE IF EXISTS #tmp
CREATE TABLE #tmp (id INT NOT NULL)

INSERT INTO #tmp (id) 
SELECT gs.value
  FROM GENERATE_SERIES(1, 5) AS gs

ALTER TABLE #tmp ADD my_value INT NOT NULL CONSTRAINT df_tmp_my_value DEFAULT 1

SELECT COUNT(*)  FROM #tmp AS t WHERE my_value = 1

ALTER TABLE #tmp DROP CONSTRAINT df_tmp_my_value

ALTER TABLE #tmp ADD CONSTRAINT df_tmp_my_value DEFAULT 2 FOR my_value

SELECT COUNT(*)  FROM #tmp AS t WHERE my_value = 1

See possible answers