- What do client diagnostics in Cosmos DB mean?
- Cosmos DB – Monitoring performance
- Presentation 5: Presenting Performance Tuning with Memory Grants
- Writing a presentation 4: Practice and improvement
- Writing a presentation 3: Entering the PowerPoint world
- One week blogging hiatus
- Favorite community scripts and their parameters
- Writing my presentation 2: Designing the presentation
- Writing my presentation part 1: The brainstorm/dump
- Writing a new session/Preparing for SQL Saturday Chicago
- CTRL + F in SSMS execution plans
- SSMS tip: Splitting the same query window
- It’s always parameter sniffing: Line Endings
- A short guide to sp_executesql
- Database context and compatibility level
- Which cardinality estimator (CE) was used in my query?
- Optimize for ad hoc VS sp_executesql?
- Memory grants 7: DISTINCT (Distinct Sort)
- Optimize for ad hoc VS single use plans
- Finding single use plans in the plan cache
- Partitioning 5: The extra partition
- Partitioning 4: Finding partitioning in DMVs and Object Explorer
- Partitioning 3: Beyond just partition elimination
- Partitioning 2: Getting and measuring partition elimination
- T-SQL Tuesday #111 – Why I blog
- Partitioning 1: Non-partition aligned queries
- Performance on readable replicas in Availability Groups
- Dynamic Data Masking in the execution plan
- Bad indexing can show up in wait statistics
- Two T-SQL features that I appreciate
- SQL Server Monitoring: Keeping track of missing index requests
- SQL Server Monitoring: What queries should you monitor?
- How many plans are in the plan cache for a stored procedure?
- Index maintenance freebies
- Query tuning: The IN clause
- My alternative to sp_WhoIsActive
- Memory Grants part 6: Memory used in aggregate functions (Min/Max/etc)
- The Execution plan comparison feature (in SSMS)
- It’s always parameter sniffing (Part 2): SET options
- Memory Grants part 5: Query hints
- Memory Grants part 4: The Resource Semaphore
- New page on this blog: Contact Me
- Memory Grants part 3: How much memory can one query get?
- When the query plan hash is deceptive
- A brief introduction for bcp
- It’s always parameter sniffing (part 1?)
- SQL Server Monitoring: What to start measuring
- Execution plans: RetrievedFromCache
- Why is the query hash so useful?
- Query memory grants part 2: Varchars and sorting
- Basic PowerShell: Get-Member
- Query plan hash
- One tip for presenting: have a conversation
- Query memory grants part 1: Where does the memory go?
- Query Store max size limit is not a hard limit
- Make sure your nonclustered indexes are enabled
- Be cautious when using: OPTION(RECOMPILE)
- Wait statistics part 1: The three DMVs
- [Off topic/Personal] 2018 and 2019 goals
- Changing max memory: be careful!
- The SQL_Handle
- Query hash: your query text’s fingerprint
- One bad T-SQL practice: ISNULL in the WHERE clause
- Can you drop a table that’s used in a stored procedure?
- Need to load a lot of test data? GO [n]
- Execution plans: more than one missing index?
- Favorite DMVs: sys.dm_exec_input_buffer
- Favorite DMVs: sys.dm_exec_sessions
- Is SQL Server using all of your server’s memory?
- TempDB space isn’t free real estate
- Don’t ignore the warning signs (in execution plans)
- Why NOLOCK could bite you
- One reason for using the Estimated Execution Plan
- Where I’ve been and GroupBy.org thoughts
- T-SQL Tuesday #104: Index column script
- T-SQL Tuesday #100: The Future of SQL Server
- Query Store Internals
- SQL 101: Two places to start troubleshooting
- SQL Saturday Nashville #698
- TSQL Tuesday #96: Folks Who Have Made a Difference
- Thoughts on Performance Tuning methodology
- Using Live Query Statistics on older SQL Servers
- Presentation Demo Scripts
- I’m presenting at Iowa SQL Server User Group!
- Dude, Where’s my (database) backups
- Setting up your own (free) local SQL Server for testing