Provided by: libdbix-class-helpers-perl_2.036000-2_all
NAME
DBIx::Class::Helper::ResultSet::Explain - Get query plan for a ResultSet
SYNOPSIS
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;
DESCRIPTION
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.
EXAMPLE OUTPUT FROM SUPPORTED DB's
SQlite [ [ 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, ], ] Pg [ [ "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", ], ] mysql [ [ 1, "SIMPLE", "me", "ALL", undef, undef, undef, undef, 1, 100, "", ], ]
AUTHOR
Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
COPYRIGHT AND LICENSE
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. perl v5.36.0 2022-12-0DBIx::Class::Helper::ResultSet::Explain(3pm)