
Explore why endless loading signals performance issues and learn to measure and optimize performance to deliver fast, reliable SQL Server systems.
Embark on a practical journey into Microsoft SQL Server performance, measuring and tuning to identify, measure, and resolve common issues faced by developers and testers.
Equip experienced developers and testers to measure, identify, and resolve Microsoft SQL Server performance issues, gaining insight into system performance and practical tuning solutions.
Learn performance metrics and why we measure them, identify improvements from stored procedures to execution plans; tackle real-world issues and isolate bottlenecks with tuning techniques like parameter sniffing and parallelism.
Measure performance to pinpoint problem areas and track improvements in MySQL server. Highlight metrics like query execution time, resource utilization, lock usage, and errors such as deadlocks and timeouts.
Measure performance to ensure usability, scalability, and data integrity as data grows, and to address timeouts and deadlocks; meet contractual benchmarks like queries within one second.
Illustrate two real world performance issues: misusing a heavy report for searches that overuses CPU and memory, and frontend sending multiple unnecessary requests, increasing network traffic and slowing everyone.
Identify performance improvement areas by analyzing SQL queries, including stored procedures, functions, and views, and address ORM layer limitations; apply code level optimizations to boost MySQL performance.
Identify and remove redundant logic, unnecessary loops, and outdated queries in stored procedures, revisit indexing strategies, and use a CTE to compute averages once.
Improve performance by optimizing index usage on frequently queried columns, avoid over indexing that slows writes, and review execution plans to ensure proper usage, including the order date column.
Analyze execution plans to reveal hidden inefficiencies such as full table scans and poor index utilization; identify bottlenecks, refine indexes, and rewrite queries for efficient data retrieval.
Identify opportunities to optimize application code by reducing database queries, optimizing loops and batch processes, and avoiding per-employee calls, selecting only needed columns to cut round trips.
Examine how ORM overhead from generated queries and lazy loading affects performance, and show using a stored procedure to fetch parent and all children in one call.
Analyze lock wait times and minimize lock duration to boost concurrency. Shorten transaction scopes, monitor deadlocks, and balance isolation levels with read committed to improve performance in high traffic environments.
Explore data access patterns that boost SQL Server performance: batch processing, selective columns, indexed joins, pagination, and stored procedures to avoid the n plus one query problems.
Clarify common misconceptions about measuring SQL Server performance. Learn how to use measurement tools and techniques to capture accurate data, considering workload, time of day, and tool overhead.
Learn how a 30-second command timeout can be reset per round trip, allowing a 48-second long query to finish, while a 30-second delay triggers a connection timeout.
Clarify the distinction between the database engine and the client, noting that SQL Server Management Studio is a client while the engine runs in the background, with other clients available.
Distinguish render time from query execution time by analyzing client rendering of 2.4 million records; the 17 seconds observed come from rendering, not the actual query execution time.
Explore tools to measure and analyze database performance, note each tool's strengths and when to use them, and embrace diverse tools for flexible environments where SQL profiler is rarely accessible.
Use SQL Server Management Studio client statistics to separate server execution time from client delays; monitor weight time on server replies and round trips for accurate performance tests.
Learn to use SQL Profiler to identify long-running queries, deadlocks, and resource bottlenecks, and tailor traces with custom templates to capture duration, CPU usage, reads, and writes.
Measure performance with a stopwatch to isolate slow segments in large stored procedures when sql profiler is unavailable, timing each statement to pinpoint optimization opportunities.
Enable set statistics time on to measure execution time without SQL profiler, then set statistics time off. Review messages tab for per-statement timings and IO insights.
Analyze execution plans to evaluate index usage, scans, and joins, identify bottlenecks, and learn to access the plan in SQL Server Management Studio and interpret per-statement timing.
Use monitoring tools like New Relic and Datadog to track CPU, memory, disk I/O, and metrics across the database and application stack for continuous performance tracking and faster troubleshooting.
Who is active captures real-time SQL Server activity, showing running queries and their execution times, with CPU, memory, and I/O metrics, while the Black Box Recorder provides diagnostic snapshots.
Measure database performance across multiple time frames and load levels to identify bottlenecks, plan capacity, and assess external factors like network latency and system architecture.
Pinpoint bottlenecks with advanced tuning techniques to boost query efficiency and resource use in high-traffic SQL Server environments. Target parameter sniffing, temporary tables, indexing, and parallelism to prevent slowdowns.
Align the default Aretha abort setting across environments to prevent performance discrepancies between SSMs and application code, and set it to on when opening new connections.
Explore practical techniques to address common SQL Server performance bottlenecks, optimize queries, and manage indexing strategies for faster, more resource-efficient operations.
Improve read performance with a targeted index on order date, including order id and order value, while balancing write overhead. Regularly review indexes and consider filtered or columnstore options.
Analyze execution plans to improve frequent sql server queries and performance with quick tools and techniques, transforming table scans into index seeks and hash joins into merge joins.
Explore parameter sniffing and how a first parameter set shapes execution plans. See how optional parameters with recompile tailor plans to specific queries, improving performance while weighing CPU costs.
Copy only the necessary records to a temporary table to stage data, reducing locking and deadlocks on large sales tables, and speeding calculations for better concurrency.
utilize common table expressions to simplify complex queries and reduce locking times during execution by minimizing reads and writes on the same tables, delivering faster execution and enhanced readability.
Split large queries into smaller batches to leverage SQL Server parallelism across CPU cores, boosting performance and enabling incremental results via a recursive common table expression and temporary table.
Identify and fix common SQL query design pitfalls that harm performance, such as broad search conditions, selecting all columns, suboptimal joins, large data types, and improper locking and transaction scope.
Choose union all to avoid sorting and removing duplicates overhead when duplicates aren’t needed, and use select distinct around union all or a cte when distinct results are required.
Avoid scalar user defined functions in sql server, especially per-row udfs that limit parallelism; learn how 2019+ inline optimizes performance, and compare inline logic to function usage.
Learn how leading wildcards in SQL queries cause full table scans and poor performance, and how refactoring queries or using full-text indexing can switch to efficient index seeks.
Always specify exact columns instead of selecting all, reducing io and network traffic by returning only the needed data. This practice also makes code resilient to schema changes.
Explore the indexing limitations and performance trade-offs of max data types like varchar max, varbinary max, and XML, including storage impact, complex execution plans, and potential scans versus seeks.
avoid using or in inner join conditions to allow index usage and faster queries. split the query into separate join conditions or union all to combine results for better optimization.
Avoid cursors for row-based operations by using set-based updates or joins that process all rows at once, delivering major performance gains on large data sets.
Choose the appropriate isolation level to balance data consistency with performance, analyzing locking and concurrency tradeoffs across read uncommitted, read committed, repeatable read, serializable, and snapshot isolation.
Analyze a real-world performance issue in a world cities dataset with commodity data, where initial looping and inefficient data structures caused a 12-minute run time, then optimize to seconds.
Apply performance measuring tools and techniques to identify bottlenecks, reveal that SQL Server queries run in milliseconds, and direct you to inspect application code that took 12 minutes to execute.
This lecture analyzes a slow approach that matches 2.4 million commodities to 50,000 cities by iterating the city list for each commodity, yielding a 12-minute load.
Identify the performance bottleneck by isolating code and showing that list.find over 50,000 cities for 2.4 million commodities causes a slowdown, highlighting dotnet collections and big O considerations.
Refactor code with ILookup to map cities and commodities, group by id for fast in-memory joins, and load data via a stored procedure in milliseconds.
Highlight efficient data structures and mindful code organization for high performance, replacing repetitive listfiles searches with an eye lookup, reducing database connections and search complexity from n to zero one.
SQL performance tuning is an art; measure and tune by analyzing execution plans, using tools like who is active, and adjusting settings such as Aretha bought to resolve issues.
Measure accurately to establish a baseline, then track performance changes. Troubleshoot by examining both database and application code, use a comprehensive approach, and test different solutions for best gains.
Develop practical understanding and confidence to tackle SQL performance tuning by identifying bottlenecks and optimizing systems for better performance.
Are you ready to unlock the full potential of SQL Server performance? This hands-on course, designed for testers and developers, delves into diagnosing, measuring, and optimizing SQL Server performance to ensure efficient, robust applications. You’ll learn practical techniques to detect bottlenecks, optimize queries, improve indexing, and streamline code to handle larger datasets and higher loads.
Throughout this course, you’ll work with real-world case studies that highlight common performance issues, such as inefficient data structures, excessive server round-trips, and poor indexing strategies. Core topics include indexing, execution plans, data access optimization, and efficient query structures. With practical examples, you’ll see how to apply best practices in different scenarios and avoid performance traps. You’ll gain hands-on experience with tools for measuring performance, identifying bottlenecks, optimizing resources, and improving the user experience, along with skills to analyze execution plans and diagnose costly queries.
By the end of this course, you’ll be equipped to identify and resolve performance issues with effective troubleshooting and tuning tools. You’ll not only enhance database speed but also minimize resource consumption, reducing costs and improving application responsiveness.
Whether you’re a tester aiming to spot performance problems or a developer eager to fine-tune database interactions, this course will provide you with actionable insights and hands-on skills you can immediately apply to real projects.