> For the complete documentation index, see [llms.txt](https://docs.tibero.com/sysmasterdb/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tibero.com/sysmasterdb/8.4_manual/detail/sql-detail.md).

# SQL Detail

SQL 하나의 전문과 실행 계획, 그리고 조회 기간 동안의 수행 이력·통계를 확인하는 화면이다. 아래 화면에서 SQL ID를 클릭하면 새 창으로 열리며, Session Detail의 SQL Detail 탭에서도 같은 내용을 볼 수 있다.

**진입 경로**

| 진입 화면                                                                                     | 클릭 대상                                      |
| ----------------------------------------------------------------------------------------- | ------------------------------------------ |
| Analysis > History Analysis > Search SQL Text                                             | SQL 목록의 SQL ID                             |
| Analysis > Performance Analysis > Top N Performance                                       | SQL 표의 SQL ID                              |
| Analysis > Performance Analysis > Performance Trend > TimeSlice의 SQL Workload · SQL Trace | SQL ID (SQL Trace는 SQL ID \| Child Number) |
| Session Detail                                                                            | SQL Detail 탭 (세션이 수행 중인 SQL 기준)            |
| AI Chatbot > Data Query 결과 표                                                              | SQL ID                                     |

## SQL 수행 과거 이력 기한 선택

선택한 SQL이 과거에 수행되었던 이력을 조회할 기간을 지정한다. 진입한 화면의 조회 기간이 기본값이며, TimeSlice에서 진입한 경우에는 클릭한 시점이 아니라 해당 Slice 구간 전체가 기본값이다. Session Detail의 SQL Detail 탭에는 기간 선택기가 없다.

<figure><img src="https://264733866-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fgw24XwSa6QXLFywb7Txd%2Fuploads%2Fc3gKmbYGHuAKISIK5WTc%2Fa1_sql-detail-top.png?alt=media" alt=""><figcaption></figcaption></figure>

## SQL Full Text

선택한 SQL의 전문을 보여준다. SQL 전문을 가져오지 못한 경우(대상 DB의 SQL 캐시에 없거나 수집에 실패한 경우)에는 SQL 대신 안내 문구가 표시된다.

<figure><img src="https://content.gitbook.com/content/gw24XwSa6QXLFywb7Txd/blobs/L9OXqChzLlQu1Uf06rQu/image.png" alt=""><figcaption></figcaption></figure>

## Plan Tree

선택한 SQL의 실행 계획(Plan)을 Tree 구조로 보여준다.

<figure><img src="https://content.gitbook.com/content/gw24XwSa6QXLFywb7Txd/blobs/3egItUtCLPdC2iqefbwZ/image.png" alt=""><figcaption></figcaption></figure>

## SQL 수행 이력 통계

선택한 SQL의 조회 기간 동안의 수행 이력 통계를 탭으로 보여준다. Summary, Execute Count, Physical Reads, Logical Reads, Plan History, SQL Trace, Bind Variable 탭이 있다.

### Summary

Summary 탭 화면에서는 분석 구간 동안 stat 지표 및 wait event 리스트와 각 wait event별 wait time의 값을 확인할 수 있다.

<figure><img src="https://264733866-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fgw24XwSa6QXLFywb7Txd%2Fuploads%2Fo3DNFsgyAxy3Cx3fmVgY%2F276_summary.png?alt=media" alt=""><figcaption></figcaption></figure>

| 항목         | 설명                                                      |
| ---------- | ------------------------------------------------------- |
| Statistics | Statistics 지표 확인                                        |
| Wait Class | 분석 구간 동안의 wait class 목록과 각 wait class별 wait time의 값을 확인 |
| Wait Event | Wait class에서 선택한 항목에 대한 상세 내역을 확인                       |

### Execute Count

Execute Count 탭 화면에서는 시간 단위별 Execute Count를 차트 형태로 확인할 수 있다. 차트 위의 Interval과 Aggregation으로 시간 단위와 집계 방식을 바꿀 수 있으며, Execute Count의 Aggregation은 SUM으로 고정된다. Physical Reads, Logical Reads 탭도 같다.

<figure><img src="https://content.gitbook.com/content/gw24XwSa6QXLFywb7Txd/blobs/96IwB1ua1XviQkIb03hT/image.png" alt=""><figcaption></figcaption></figure>

### Physical Reads

Physical Reads 탭 화면에서는 시간 단위별 Physical Reads를 차트 형태로 확인할 수 있다.

### Logical Reads

Logical Reads 탭 화면에서는 시간 단위별 Logical Reads를 차트 형태로 확인할 수 있다.

<figure><img src="https://content.gitbook.com/content/gw24XwSa6QXLFywb7Txd/blobs/tBLZBJCibMQus4OVwVFJ/image.png" alt=""><figcaption></figcaption></figure>

### Plan History

Plan History 탭 화면에서는 같은 쿼리에 대해 Plan별 비교가 가능하다.

<figure><img src="https://264733866-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fgw24XwSa6QXLFywb7Txd%2Fuploads%2FMWCPujFYAknImJZHfF0x%2F279_plan-history.png?alt=media" alt=""><figcaption></figcaption></figure>

### SQL Trace

SQL Trace 탭 화면에서는 조회 기간 동안의 SQL 수행 이력(Trace 정보)을 확인할 수 있다.

<figure><img src="https://264733866-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fgw24XwSa6QXLFywb7Txd%2Fuploads%2FGR6q8FjuLeGokOYUrm9L%2F280_sql-trace.png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**참고**

SQL 수행 이력 수집에 사용하는 티베로 라이브러리 이슈로 일부 정보에 Machine, Module, Program, User Name, OS User 항목이 수집되지 않을 수 있다.

SQL trace의 child number가 0인 경우는 다양한 이유로 SQL plan 할당에 실패했을 경우이다. 그리고 SQL plan 생성을 실패하는 지점까지 수행 시간 자체가 사용자가 설정한 SQL\_STAT\_HISTORY\_THRESHOLD가 넘으면 SQL plan 생성을 실패한 SQL trace를 수집하게 된다. 결론적으로 수집된 SQL trace의 child number가 0인 경우 매핑되는 SQL plan이 없으므로 SQL plan을 볼 수 없다.
{% endhint %}

#### Bind Variable

Bind Variable 탭 화면에서는 SQL 수행 시 캡처된 바인드 변수 값을 확인할 수 있다. Configurable Privileges 중 해당 인스턴스에 대해 Bind Variable View 권한이 부여된 사용자에게만 탭이 표시된다. 자세한 내용은 [Bind Variable](/sysmasterdb/8.4_manual/detail/sql-detail/bind-variable.md) 페이지를 참고한다.
