GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
DBIx::Class::Helper::ResultSet::Explain(3) User Contributed Perl Documentation DBIx::Class::Helper::ResultSet::Explain(3)

DBIx::Class::Helper::ResultSet::Explain - Get query plan for a ResultSet

This module mostly makes sense to be used without setting as a component:

 use Devel::Dwarn;
 Dwarn DBIx::Class::ResultSet::Explain::explain($rs)

But as usual, if you prefer to use it as a component here's how:

 package MyApp::Schema::ResultSet::Foo;

 __PACKAGE__->load_components(qw{Helper::ResultSet::Explain});

 ...

 1;

And then in a script or something:

 use Devel::Dwarn;
 Dwarn $rs->explain;

This is just a handy little tool that gives you the query plan for a given ResultSet. The output is in no way normalized, so just treat it as a debug tool or something. The only supported DB's are those listed below. Have fun!

See "NOTE" in DBIx::Class::Helper::ResultSet for a nice way to apply it to your entire schema.

 [
   [
     0,
     "Init",
     0,
     10,
     0,
     "",
     "00",
     undef,
   ],
   [
     1,
     "OpenRead",
     0,
     3,
     0,
     4,
     "00",
     undef,
   ],
   [
     2,
     "Rewind",
     0,
     9,
     0,
     "",
     "00",
     undef,
   ],
   [
     3,
     "Rowid",
     0,
     1,
     0,
     "",
     "00",
     undef,
   ],
   [
     4,
     "Column",
     0,
     1,
     2,
     "",
     "00",
     undef,
   ],
   [
     5,
     "Column",
     0,
     2,
     3,
     "",
     "00",
     undef,
   ],
   [
     6,
     "Column",
     0,
     3,
     4,
     "",
     "00",
     undef,
   ],
   [
     7,
     "ResultRow",
     1,
     4,
     0,
     "",
     "00",
     undef,
   ],
   [
     8,
     "Next",
     0,
     3,
     0,
     "",
     "01",
     undef,
   ],
   [
     9,
     "Halt",
     0,
     0,
     0,
     "",
     "00",
     undef,
   ],
   [
     10,
     "Transaction",
     0,
     0,
     17,
     0,
     "01",
     undef,
   ],
   [
     11,
     "Goto",
     0,
     1,
     0,
     "",
     "00",
     undef,
   ],
 ]

 [
   [
     "Seq Scan on \"Gnarly\" me  (cost=0.00..16.20 rows=620 width=100) (actual time=0.002..0.002 rows=0 loops=1)",
   ],
   [
     "Planning time: 0.182 ms",
   ],
   [
     "Execution time: 0.037 ms",
   ],
 ]

 [
   [
     1,
     "SIMPLE",
     "me",
     "ALL",
     undef,
     undef,
     undef,
     undef,
     1,
     100,
     "",
   ],
 ]

Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>

This software is copyright (c) 2020 by Arthur Axel "fREW" Schmidt.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2020-03-28 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.