@@ -3347,10 +3347,9 @@ <h3>Impedance mismatch</h3>
33473347moving data between relational tables and application objects. The gist
33483348is that the way a developer uses objects is different from how data is
33493349stored and joined in relational tables.</ p >
3350- < p > This article does a solid job of explaing what
3351- < a href ="http://www.agiledata.org/essays/impedanceMismatch.html "> ORM impedance mismatch</ a >
3352- is at a high level and provides diagrams to visualize why the problem
3353- occurs. </ p >
3350+ < p > < a href ="http://www.agiledata.org/essays/impedanceMismatch.html "> This article on ORM impedance mismatch</ a >
3351+ does a solid job of explaing what the concept is at a high level and
3352+ provides diagrams to visualize why the problem occurs. </ p >
33543353< h3 > Potential for reduced performance</ h3 >
33553354< p > One of the concerns that's associated with any higher-level abstraction or
33563355framework is potential for reduced performance. With ORMs, the performance
@@ -3359,16 +3358,16 @@ <h3>Potential for reduced performance</h3>
33593358< p > ORMs are also often easy to try but difficult to master. For example, a
33603359beginner using Django might not know about the
33613360< a href ="https://docs.djangoproject.com/en/1.8/ref/models/querysets/#select-related "> < code > select_related()</ code > function</ a >
3362- or how that can dramatically improve some queries' performance with
3363- foreign key relationships. There are dozens of performance tips and tricks
3364- for every ORM and it's possible that investing time in learning those
3365- quirks may be better spent just learning SQL and how to write stored
3366- procedures.</ p >
3361+ and how it can improve some queries' foreign key relationship performance.
3362+ There are dozens of performance tips and tricks for every ORM. It's possible
3363+ that investing time in learning those quirks may be better spent just
3364+ learning SQL and how to write stored procedures.</ p >
33673365< p > There's a lot of hand-waving "may or may not" and "potential for" in this
3368- section. In most cases ORMs are good enough for roughly 80-90% of use cases
3369- and in 10-20% of database interactions there can be major performance
3370- improvements by having a knowledgeable database adminstrator write tuned
3371- SQL statements to replace the ORM's generated SQL code.</ p >
3366+ section. In large projects ORMs are good enough for roughly 80-90% of use
3367+ cases but in 10-20% of a project's database interactions there can be
3368+ major performance improvements by having a knowledgeable database
3369+ adminstrator write tuned SQL statements to replace the ORM's generated
3370+ SQL code.</ p >
33723371< h3 > Shifting complexity from the DB into the app code</ h3 >
33733372< p > The code for working with an application's data has to live somewhere. Before
33743373ORMs were common, database stored procedures were used to encapsulate the
0 commit comments