<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>leeJO_.log</title>
        <link>https://velog.io/</link>
        <description>이오_</description>
        <lastBuildDate>Fri, 04 Aug 2023 08:52:42 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>leeJO_.log</title>
            <url>https://velog.velcdn.com/images/leejuno_93/profile/ce487487-7758-4c30-83a5-536ffa2e2093/social_profile.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. leeJO_.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/leejuno_93" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[DB 인덱스 설정 (클러스터와 넌클러스터 차이)]]></title>
            <link>https://velog.io/@leejuno_93/DB-%EC%9D%B8%EB%8D%B1%EC%8A%A4-%EC%84%A4%EC%A0%95-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EC%99%80-%EB%84%8C%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0-%EC%B0%A8%EC%9D%B4</link>
            <guid>https://velog.io/@leejuno_93/DB-%EC%9D%B8%EB%8D%B1%EC%8A%A4-%EC%84%A4%EC%A0%95-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EC%99%80-%EB%84%8C%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0-%EC%B0%A8%EC%9D%B4</guid>
            <pubDate>Fri, 04 Aug 2023 08:52:42 GMT</pubDate>
            <description><![CDATA[<h1 id="⏳클러스터와-넌클러스터">⏳클러스터와 넌클러스터</h1>
<h2 id="특성">특성</h2>
<h4 id="클러스터-인덱스">클러스터 인덱스</h4>
<ol>
<li>테이블당 1개씩 허용한다.</li>
<li>테이블의 PK로 설정한 필드는 자동으로 클러스터 인덱스로 만들어진다.</li>
<li>데이터가 어센딩한 상태로 유지된다.</li>
<li>데이터 입력, 수정, 삭제가 느리다.</li>
</ol>
<h4 id="넌클러스터-인덱스">넌클러스터 인덱스</h4>
<ol>
<li>테이블당 여러개를 만들 수 있다.</li>
<li>레코드의 원본이 정렬되는 것이 아니라 인덱스 페이지만 정령된다.</li>
<li>인덱스 페이지는 로그파일에 저장된다.</li>
</ol>
<p>👍 책에 비유해서 클러스터 인덱스는 페이지번호라면 넌클러스터 인덱스는 목차에서 내용을 찾는 것으로 이해했다.</p>
<h2 id="💡어떤상황에-써야할까">💡어떤상황에 써야할까?</h2>
<ul>
<li>클러스터는 기간이나 순차적인 번호의 데이터를 가지고 있는 컬럼에 사용하면 좋다. 넌클러스터는 그 외의 조회 조건들에서 사용한다.</li>
</ul>
<h2 id="📕주의할-점">📕주의할 점</h2>
<ul>
<li>클러스터 인덱스를 세팅할 때 여러 컬럼을 함께 설정할 경우는 항상 묶어서 WHERE절에 조건으로 조회하거나 화면 하나에서 사용하는 곳에만 사용해야한다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[MS-SQL 실행계획과 쿼리튜닝 ]]></title>
            <link>https://velog.io/@leejuno_93/MS-SQL-%EC%8B%A4%ED%96%89%EA%B3%84%ED%9A%8D%EC%9C%BC%EB%A1%9C-%ED%95%98%EB%8A%94-%EC%BF%BC%EB%A6%AC%ED%8A%9C%EB%8B%9D</link>
            <guid>https://velog.io/@leejuno_93/MS-SQL-%EC%8B%A4%ED%96%89%EA%B3%84%ED%9A%8D%EC%9C%BC%EB%A1%9C-%ED%95%98%EB%8A%94-%EC%BF%BC%EB%A6%AC%ED%8A%9C%EB%8B%9D</guid>
            <pubDate>Fri, 04 Aug 2023 08:25:57 GMT</pubDate>
            <description><![CDATA[<h1 id="쿼리튜닝">쿼리튜닝</h1>
<p>✅ 데이터를 조회하기 위한 쿼리속도를 개선하는 작업을 진행해보면서 알게 된 부분기록</p>
<pre><code>SELECT TOP 2000
    ID
    , CREATE_DATE
    , CONTEXT
FROM
    TABLE
WHERE
    1 = 1
    AND CONTEXT like &#39;%test%&#39;
    AND ID = &#39;Unknown&#39;
    AND CREATE_DATE BETWEEN &#39;2023-08-01 00:00:00&#39; AND &#39;2023-08-04 23:59:59&#39;;</code></pre><p>실무에서 사용한 쿼리를 예제로 넣을 수는 없으므로 예시쿼리를 작성했다.</p>
<ul>
<li>PK : ID</li>
<li>현재 인덱스가 걸려있지 않은 상태</li>
<li>Microsoft SQL Server Management Studio를 사용</li>
</ul>
<p><img src="https://velog.velcdn.com/images/leejuno_93/post/5c7e2313-3c82-47d3-a29a-60ad5ad3e737/image.png" alt=""></p>
<ul>
<li>Ctrl + L로 쿼리를 실행시키면 쿼리의 실행계획을 볼 수 있다.</li>
<li>초록색으로 표기된 부분으로 개선하면 영향을 줄 수 있는 수치가 표기된다.</li>
<li>해당 쿼리는 인덱스가 없으므로 논클러스터 인덱스를 생성하라는 시나리오를 주었다.</li>
</ul>
<h2 id="실행계획-바탕으로-개선">실행계획 바탕으로 개선</h2>
<ul>
<li>추후 추가할 예정 </li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[@Log4j2 사용법]]></title>
            <link>https://velog.io/@leejuno_93/Log4j2-%EC%82%AC%EC%9A%A9%EB%B2%95</link>
            <guid>https://velog.io/@leejuno_93/Log4j2-%EC%82%AC%EC%9A%A9%EB%B2%95</guid>
            <pubDate>Tue, 07 Jun 2022 08:45:39 GMT</pubDate>
            <description><![CDATA[<ul>
<li>사용방법<blockquote>
<p>✅클래스 위에 선언하여 사용
@Log4j2
public class ClassName{ 
... 
log.debug(&quot;로그내용&quot;);
}</p>
</blockquote>
</li>
</ul>
<ul>
<li>로그레벨<blockquote>
<ul>
<li>OFF : 가능성이 가장 높은 순위. 로그를 끄기 위해 사용한다.</li>
<li>FATAL : 이른 종료를 일으키는 심각한 오류. 상태콘솔에 바로 표시될 것으로 예측.</li>
<li>ERROR : 다른 런타임 오류 또는 예기치 못한 조건. 상태 콘솔에 바로 표시될 것으로 예측.</li>
<li>WARN : 구식 API의 사용, 잘 활용하지 못한 API 사용, 오류에 &#39;가까운&#39; 것, 그 밖에 꼭 잘못된 것은 아니지만 만족을 하지 못하거나 예기치 않은 런타임 상황. 상태 콘솔에 바로 표시될 것으로 예측.</li>
<li>INFO : 흥미로운 런타임 이벤트(시작/종료). 콘솔에 바로 표시될 것으로 예측되므로 가능한 보수적으로 최소한으로 사용.</li>
<li>DEBUG : 시스템 전반의 흐름에 관한 자세한 정보. 로그에만 기록될 것으로 예측. 일반적으로 응용 프로그램이 기록하는 대부분의 줄은 DEBUG로 작성하는 것이 좋다.</li>
<li>TRACE :     가장 세세한 정보. 로그에만 기록될 것으로 예측. 버전 1.2.12부터 지원.</li>
</ul>
</blockquote>
</li>
</ul>
<p>출처 : <a href="https://ko.wikipedia.org/wiki/Log4j">https://ko.wikipedia.org/wiki/Log4j</a></p>
]]></description>
        </item>
    </channel>
</rss>