explain {dplyr} | R Documentation

## Explain details of a tbl

### Description

This is a generic function which gives more details about an object than `print()`, and is more focussed on human readable output than `str()`.

### Usage

    explain(x, ...)

    show_query(x, ...)

### Arguments

`x` | An object to explain
`...` | Other parameters possibly used by generic

### Value

The first argument, invisibly.

### Databases

Explaining a `tbl_sql` will run the SQL `EXPLAIN` command which will describe the query plan. This requires a little bit of knowledge about how `EXPLAIN` works for your database, but is very useful for diagnosing performance problems.

### Examples

    if (require("dbplyr")) {

    lahman_s <- lahman_sqlite()
    batting <- tbl(lahman_s, "Batting")
    batting %>% show_query()
    batting %>% explain()

    # The batting database has indices on all ID variables:
    # SQLite automatically picks the most restrictive index
    batting %>% filter(lgID == "NL" & yearID == 2000L) %>% explain()

    # OR's will use multiple indexes
    batting %>% filter(lgID == "NL" | yearID == 2000) %>% explain()

    # Joins will use indexes in both tables
    teams <- tbl(lahman_s, "Teams")
    batting %>% left_join(teams, c("yearID", "teamID")) %>% explain()
    }

[Package dplyr version 0.7.0 Index]