Skip to content

sql: many columns/index planning benchmarks got a lot more expensive #72001

@cucaroach

Description

@cucaroach

Context:

Phases/many-columns-and-indexes-b/Simple/Explore-24 | 84.15%
Phases/many-columns-and-indexes-a/Simple/ExecBuild-24 | 89.1%
Phases/many-columns-and-indexes-a/Simple/Explore-24 | 89.87%
Phases/many-columns-and-indexes-b/Prepared/ExecBuild-24 | 91.1%
Phases/many-columns-and-indexes-b/Prepared/Explore-24 | 91.79%
Phases/many-columns-and-indexes-a/Prepared/ExecBuild-24 | 94.08%
Phases/many-columns-and-indexes-a/Prepared/Explore-24 | 94.25%

Allocations are wildly different:

❯ go tool pprof -base mem.out ../../../ff34ea8/bin/409912120/mem.out
File: cockroachdb_cockroach_pkg_sql_opt_bench
Build ID: 78a118c677571ecb862d3527faf73b21891f3db2
Type: alloc_space
Time: Oct 20, 2021 at 4:26pm (UTC)
Entering interactive mode (type "help" for commands, "o" for options)
(pprof) top
Showing nodes accounting for 88.45MB, 6.54% of 1351.88MB total
Dropped 5451 nodes (cum <= 6.76MB)
Showing top 10 nodes out of 397
      flat  flat%   sum%        cum   cum%
   56.32MB  4.17%  4.17%    56.32MB  4.17%  github.com/cockroachdb/cockroach/pkg/sql/opt/ordering.interestingOrderingsForScan.func1
   19.68MB  1.46%  5.62%    32.50MB  2.40%  github.com/cockroachdb/cockroach/pkg/sql/catalog/tabledesc.newColumnCache
   12.81MB  0.95%  6.57%    12.81MB  0.95%  github.com/cockroachdb/cockroach/pkg/sql/catalog/tabledesc.lazyAllocAppendColumn (inline)
    4.01MB   0.3%  6.87%    60.33MB  4.46%  github.com/cockroachdb/cockroach/pkg/sql/opt/ordering.interestingOrderingsForScan
   -2.47MB  0.18%  6.68%    -3.39MB  0.25%  github.com/cockroachdb/cockroach/pkg/sql/catalog/tabledesc.newIndexCache
   -2.09MB  0.15%  6.53%    -2.09MB  0.15%  github.com/cockroachdb/cockroach/pkg/sql/row.(*FetcherTableArgs).InitCols
    1.84MB  0.14%  6.67%     1.84MB  0.14%  github.com/cockroachdb/pebble.glob..func4
   -1.62MB  0.12%  6.55%    -1.62MB  0.12%  github.com/cockroachdb/pebble.glob..func3
   -1.44MB  0.11%  6.44%    -1.77MB  0.13%  github.com/cockroachdb/cockroach/pkg/storage.(*MVCCValueMerger).Finish
    1.40MB   0.1%  6.54%     1.40MB   0.1%  reflect.unsafe_NewArray

@mgartner thinks maybe #64501 is related

Metadata

Metadata

Assignees

Labels

C-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.T-sql-queriesSQL Queries Team

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions