Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
ASP.NET Core 2 High Performance

You're reading from   ASP.NET Core 2 High Performance Learn the secrets of developing high performance web applications using C# and ASP.NET Core 2 on Windows, Mac, and Linux

Arrow left icon
Product type Paperback
Published in Oct 2017
Publisher
ISBN-13 9781788399760
Length 348 pages
Edition 2nd Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
James Singleton James Singleton
Author Profile Icon James Singleton
James Singleton
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. What's New in ASP.NET Core 2? 2. Why Performance Is a Feature FREE CHAPTER 3. Setting Up Your Environment 4. Measuring Performance Bottlenecks 5. Fixing Common Performance Problems 6. Addressing Network Performance 7. Optimizing I/O Performance 8. Understanding Code Execution and Asynchronous Operations 9. Learning Caching and Message Queuing 10. The Downsides of Performance-Enhancing Tools 11. Monitoring Performance Regressions 12. The Way Ahead

Select N+1 problems


You may have heard of select N+1 problems before. It's the name for a class of performance problems that relate to inefficient querying of a DB. The pathological case is where you query one table for a list of items and then query another table to get the details for each item, one at a time. This is where the name comes from. Instead of the single query required, you perform N queries (one for the details of each item) and one query to get the list to begin with. Perhaps a better name would be select 1+N. The example at the end of the Latency section (earlier in this chapter) illustrates a select N+1 problem.

You will hopefully not write such bad-performing queries by hand, but an O/RM can easily output very inefficient SQL if used incorrectly. You might also use some sort of business object abstraction framework, where each object lazily loads itself from the DB. This can become a performance nightmare if you want to put a lot of these objects in a list or calculate...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image