Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Well, things like Catalyst/DBIx::Class certainly appeal to people with objects-on-the-brain (I know this particular "fad" has been around for decades, but I'm afraid it still seems pretty faddish to me), but if you ask me, the first rule in designing a database-backed app is to let the database do the work wherever possible: design the schema first, hand craft the SQL to use the schema efficiently, then think about writing methods that are wrappers around the SQL.

On the other hand, ORM fans praise their "speed of development", and if you don't expect to need to scale up to heavy database use, you might go with the ORM approach instead.

Something I keep meaning to experiment with some time, is developing with Catalyst, then benchmarking/profiling to look for bottle necks (preferably under simulated heavy loads), and then try to refactor around the bottle-necks with the hand-crafted SQL approach. It's at least concievable that there's a best-of-both-worlds hybrid that might work well.

What I'd actually like to see though is a framework that starts with a database schema and creates code around it. I don't understand why I haven't run across one of these yet... it seems like a pretty obvious notion.

In reply to Re: When to use ORMs, Catalyst, etc by doom
in thread When to use ORMs, Catalyst, etc by Cagao

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others lurking in the Monastery: (3)
    As of 2020-12-01 11:55 GMT
    Find Nodes?
      Voting Booth?
      How often do you use taint mode?

      Results (5 votes). Check out past polls.