How to know if using an ORM will not lead to poor performance? -


i plan create small online dd3 game manager:

  • download client , play peer peer friends
  • online
  • or create characters sheet home game.

there (very) basics grid , 2d "graphics". used grid map , characters sheets persistence . also, not want spend time on it.

i'm experienced programmer. i'm used db tuning, , stored procedures. tasks highly time consuming. plan use , orm.

however, i've seens many industrial project performing poorly because of those. of time difference outrageous. here re points:

  1. how decide ( precise guideline/methods ) if orm kill preformance of apps? parameters important ( size? number of tables? number of queries?... )
  2. is orm fine tuning not more time consuming @ end odl school db tuning?

please precise in answers. i'll take time read each of them , check facts , examples.

orm perform worse (will less optimized) correctly designed database. gain in easier/quicker development if don't sql , plan move sql engine. suggest not use orm if not planning in moving 1 sql engine another. use if hate sql.

how decide:

  1. you hate sql: +1 orm.
  2. you love objects: +1 orm.
  3. your don't want use non-sql solution: +1 orm.
  4. you won't need stats or tables merging of many entities (tables/objects): +1 orm.
  5. you plan move dbms in future: +1 orm (or @ least sql framework).

you see it's not problem of how many queries run in application, it's problem of merging tables efficiently (and running in-efficient queries many times). merging 2 tables can less efficient in orm (for example orm might use 3 tables when need 1 , id relation table). , yes - fine tuning orm compared sql horror (you end writing in semi-sql , not give same level of control).


Comments

Popular posts from this blog

php - Why I am getting the Error "Commands out of sync; you can't run this command now" -

linux - Does gcc have any options to add version info in ELF binary file? -

java - Are there any classes that implement javax.persistence.Parameter<T>? -