Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re: Do I need a database model?

by boftx (Deacon)
on Mar 10, 2014 at 22:25 UTC ( #1077761=note: print w/replies, xml ) Need Help??

in reply to Do I need a database model?

I would agree with the others that there is value in gaining experience. But...

If there are performance issues involved I would think twice about it and probably be biased towards using clean, solid CRUD in simple modules. Given that you have a table that will be relatively large it sounds like performance might be in play.

It helps to remember that the primary goal is to drain the swamp even when you are hip-deep in alligators.

Replies are listed 'Best First'.
Re^2: Do I need a database model?
by neilwatson (Priest) on Mar 11, 2014 at 01:41 UTC
    Yes, tests so far show that transaction performance is a challenge. I've been thinking about sticking with raw sql too.

    Neil Watson

      Raw SQL with properly bound columns and prepared statements or DB procedures will always win the speed race, often hugely, but I want to point out that DBIC got MUCH faster recently. Fast enough to beat Rose::DB, the previous ORM speed king, on certain operations; and you have tools like DBIx::Class::ResultSet::HashRef to skip the most expensive part of DBIC (objectification of records). DBIC also has some cache control built-in so depending on the use case it could conceivably be faster than raw SQL unless you go to the trouble of handling caching yourself. And that underscores the final case for DBIC: it does nearly everything and it does it before you realize you were going to need it.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1077761]
[shmem]: LanX: uhm, that looks like work to be done for me.
shmem frowns at LanX for being stirred out of laziness

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (9)
As of 2017-04-27 19:10 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (512 votes). Check out past polls.