sqlitebrowser / sqlitebrowser/sqlitebrowser

[Feature]: Tree-shaped output for explain query plan

Đang mở
#3,032 2 bình luận 2 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

enhancement Execute SQL
Ngôn ngữ chính
C++
Star
24.6k
Fork
2.4k
Merge trung bình
3 ngày 49 phút
Pull request đã merge (30 ngày)
3

Mô tả

Describe the new feature

Currently DB Browser outputs the results of explain query plan the same way it outputs everything else - a table with rows:

id parent notused detail
2 0 0 CO-ROUTINE 2
5 2 0 CO-ROUTINE 4
7 5 0 CO-ROUTINE 1
15 7 0 SCAN TABLE Foo AS b
17 7 0 SEARCH TABLE Bar AS o USING INDEX sqlite_autoindex_Objects_1 (Baz=?)
26 7 0 USE TEMP B-TREE FOR GROUP BY
68 5 0 SCAN SUBQUERY 1 AS x
78 5 0 USE TEMP B-TREE FOR ORDER BY
94 2 0 SCAN SUBQUERY 4
160 0 0 SCAN SUBQUERY 2 AS y

This is not particularly easy to read, especially as query plans get more complex. A tree-shaped output would make things much easier to reason about and share. A plain text tree would be easy to create from the information above:

QUERY PLAN
|--CO-ROUTINE 2
|  |--CO-ROUTINE 4
|  |  |--CO-ROUTINE 1
|  |  |  |--SCAN TABLE Foo AS b
|  |  |  |--SEARCH TABLE Bar AS o USING INDEX sqlite_autoindex_Objects_1 (Baz=?)
|  |  |  `--USE TEMP B-TREE FOR GROUP BY
|  |  |--SCAN SUBQUERY 1 AS x
|  |  `--USE TEMP B-TREE FOR ORDER BY
|  `--SCAN SUBQUERY 4
`--SCAN SUBQUERY 2 AS y
Does this feature exist in another product or project? Please provide a link

Probably there is something that already outputs this format, but I'm not sure. The idea is from https://stackoverflow.com/a/71412757.

Do you have a screenshot? Please add screenshots to help explain your idea.

No response

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Issue không nêu tên tệp nguồn, bài kiểm thử hoặc điểm vào nào. Hãy bắt đầu bằng việc xác định phần xử lý hiện có của EXPLAIN QUERY PLAN trong DB Browser và theo dõi cách các hàng của nó được hiển thị; hoàn thành có nghĩa là cùng một kế hoạch được trình bày dưới dạng cây văn bản dễ đọc với các hàng cha và hàng con lồng nhau.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
cpp, sqlite
Lĩnh vực
database
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.