Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: The (Too-)Well Hidden Magic of "DBIx::Class"

by jasonk (Parson)
on Feb 04, 2009 at 15:29 UTC ( #741316=note: print w/ replies, xml ) Need Help??


in reply to The (Too-)Well Hidden Magic of "DBIx::Class"

To answer some of your questions in kind of random order:

When declaring a relationship, if you know you want it to use an inner join, you can specify that in the relationship declaration:

__PACKAGE__->has_many( 'foos', 'MySchema::Foo', 'bar_id', { join_type => 'INNER' } );

To find out exactly what queries are being issued as a result of your code, set the environment variable DBIC_TRACE to a true value, and the generated queries will get dumped to stderr.

As for whether it's efficient or not, that depends a lot on the application, the data, and the types of queries you are doing, as well as how you define efficient. I'm sure that I could get queries that ran a little bit faster by building them by hand, but the time that it takes to do so wouldn't offset the time that DBIx::Class saves me, so while the queries themselves might be slightly less efficient, I am much more efficient with it than without.


www.jasonkohles.com
We're not surrounded, we're in a target-rich environment!


Comment on Re: The (Too-)Well Hidden Magic of "DBIx::Class"
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://741316]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (11)
As of 2015-07-29 21:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (269 votes), past polls