
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.