# if 조건문을 사용할 때 간단하지만 아주 중요한 하지만 놓치는 부분을 생각해 보려 한다.

 

if (A && B) {

 

}

 

라고 했을 떄  

A 가 False이면 B는 생각을 안하기 때문에 조금더 속도가 빠르다.

따라서 조건을 적을때 조금더 중요한 것을 A부분에 넣어서 조금더 코드가 빠르게 할수 있도록 해야한다.

 

 

 

 

 

'[현업] 알면 좋은 것들' 카테고리의 다른 글

[Debug 사용하기] 1  (0) 2020.06.23

# Debug 사용할 때 여러방법이 존재

Java 파일 ==> breakPoint 사용!! 

// jsp,js 파일은 개발자 도구나 debug를 사용 못함 ? ==> 확인

jsp 나 js파일 ==> debugger;  를 사용하면 디버그가 된다.

console.log를 사용하여 데이터의 값을 확인 가능하다.

console.log 할때 object인 경우 [%o] 라는 형식을 변경하여 사용하면 값이 나옴

 

 

 

 

 

'[현업] 알면 좋은 것들' 카테고리의 다른 글

if 조건문 사용시 속도 및 생각  (0) 2020.06.23

- 기업에서 사용하는 사용자의 정보

- 시스템 간의 통신을 위해서 전문을 만들어서 각 시스템에서 동일한 정보를 공유 할 수있도록 하기 위해서 만들어짐

-  API와 인터페이스와 유사

'IT NOTE > IT Term' 카테고리의 다른 글

아카이빙이란(Archiving)?  (0) 2020.07.30
인터페이스 ?  (0) 2020.06.05

USE [DBMS];

GO EXEC [프로시저명] [넣어야될 파라미터 값];

'[DB] > [MSSQL]' 카테고리의 다른 글

소계, 합계 구하기  (0) 2020.04.27
프로시저 생성시 변수에 데이터 넣기  (0) 2020.04.25
# [MSSQL] LOCK 걸린 쿼리 확인 후 강제 KILL  (0) 2020.04.17
# 저장 프로시저  (0) 2020.04.07
# 트랜잭션  (0) 2020.04.07

# ROLLUP 

 - 소그룹간의 소계를 계산한다.

- ROLLUP은 GRPUP BY의 확장 형태로 사용하기 쉬운데, GRPOUP BY에 있는 항목들을 

오른쪽에서 왼쪽순으로 그룹으로 묶어 집계를 낸다.

EX) GROUP BY A,B,C ROLLUP  

총합계의 행이 나온다 

 

 

# CUBE

- CUBE 함수는 GROUP BY 항목들 간 모든 경우의 수로 그룹을 생성하여 집계를 낸다.

-CUBE는 ROLLUP보다 조금 더 상세한 결과를 낸다.

-> CUBE는 ROLLUP과 그룹을 묶어주는 방식이 다르다.

 

'[DB] > [MSSQL]' 카테고리의 다른 글

저장프로시저 실행  (0) 2020.04.30
프로시저 생성시 변수에 데이터 넣기  (0) 2020.04.25
# [MSSQL] LOCK 걸린 쿼리 확인 후 강제 KILL  (0) 2020.04.17
# 저장 프로시저  (0) 2020.04.07
# 트랜잭션  (0) 2020.04.07

DECLARE @nCnt INT  => 변수선언

SELECT @nCnt  = count(*) FROM [테이블명] WHERE IF_NO = @IN_vIF_NO AND IF_NO_SEQ = @IN_vIF_NO_SEQ

이런식으로 변수를 넣어주면 됨 

'[DB] > [MSSQL]' 카테고리의 다른 글

저장프로시저 실행  (0) 2020.04.30
소계, 합계 구하기  (0) 2020.04.27
# [MSSQL] LOCK 걸린 쿼리 확인 후 강제 KILL  (0) 2020.04.17
# 저장 프로시저  (0) 2020.04.07
# 트랜잭션  (0) 2020.04.07

트랜젝션 커밋을 안했을때

 

'VB[비쥬얼베이직]' 카테고리의 다른 글

[VB] 특정 Cell에 포커스 주기 및 이동  (0) 2020.03.27

MSSQL을 사용하다가 조회결과가 나오지 않을 경우 테이블에 락이 걸려서 발생 가능성이 있음

 

1. SP_LOCK 실행 

MODE값이 X인 것(LOCK걸린놈)을 확인 한후 SPID를 확인

 

2. LOCK 걸린 쿼리 조회

DBCC INPUTBUFFER(SPID번호)

 

3. LCOK으로 의심되는 SPID 조회

SELECT p.status ,p.program_name ,p.hostname ,p.spid ,p.blocked ,p.kpid

    ,p.cpu ,p.physical_io ,p.waittype ,p.waittime ,p.lastwaittype

    ,p.waitresource ,p.dbid ,p.uid ,p.memusage ,p.login_time ,p.last_batch

    ,p.ecid ,p.open_tran ,p.sid ,p.hostprocess

    ,p.cmd ,p.nt_domain ,p.nt_username ,p.net_address

    ,p.net_library ,p.loginame ,p.context_info ,p.sql_handle

    ,p.stmt_start ,p.stmt_end

FROM master..sysprocesses p

WHERE (

        STATUS LIKE 'run%'

        OR waittime > 0

        OR blocked <> 0

        OR open_tran <> 0

        OR EXISTS (

            SELECT *

            FROM master..sysprocesses p1

            WHERE p.spid = p1.blocked

                AND p1.spid <> p1.blocked

            )

        )

    AND spid > 50

    AND spid <> @@spid

ORDER BY CASE

        WHEN STATUS LIKE 'run%'

            THEN 0

        ELSE 1

        END

    ,waittime DESC

    ,open_tran DESC

 

4. KILL 죽이기

KILL SPID 번호 -- 죽일번호(LOCK걸린놈)

'[DB] > [MSSQL]' 카테고리의 다른 글

소계, 합계 구하기  (0) 2020.04.27
프로시저 생성시 변수에 데이터 넣기  (0) 2020.04.25
# 저장 프로시저  (0) 2020.04.07
# 트랜잭션  (0) 2020.04.07
@@ROWCOUNT  (0) 2020.03.26

# 저장프로시저 
저장프로시저는 EXECUTE문을 사용해 호출한다.

# 저장프로시저의 장점
 - 캡슐의 이점 : 저장 프로시저 로직이 변경되어도 매개 변수 형태의 변화가 없다면 사용자와 응용프로그램은 영향을 받지 않을 뿐더러, 변경된 로직을 즉시 적용받을수 있다.
 - 성능의 이점 : 저장된 실행계획을 재사용함으로써 CPU를 절약하고,구문분석,이름확인,그리고 최적화에 걸리는 시간을 단축할 수 잇다.
 - 네트워크 트래픽 최소화 : 서버로 전송하는 쿼리문의 문자열을 줄여 네트워크 트래픽을 줄일 수 있다. 상당한 길이의 쿼리문 대신 저장 프로시저 이름과 매개변수만 사용하기 때문이다.
 - 보안계층으로 사용 : 개체에 접근할 권한을 직접 부여하지 않고 저장 프로시저 실행권한만 부여하기 때문에 개체에 대한 불필요한 접근을 제한 할수 있다. 
저장 프로시저가 넘겨주는 값만 볼수 있다. 

 * 일반 SQL 문
 구문분석  - 표준화 - 보안점검 - 최적화  -컴파일 -실행
 (키워드를 분리하고 문법검사) (각 개체들이 이름을 확인하고 불필요한 구문 제거) (구문을 실행한 사용자의 권한을 확인) (가장빠른 성능을 위해 색인,조인,잠금 등을 결정하여 최적화된 실행계획을 만든다.) (실행계획을 컴파일 한 후 캐시에 등록)  (컴파일 된 구문 실행)

 * 저장 프로시저 
 구문분석  - 지연된 이름확인 -보안점검 -결과저장
 (키워드를 분리하고 문법을 검사)   (저장 프로시저를 만들때 해당 개체의 이름이 존쟇는지 확인하지 않는다.)  (저장 프로시저를 만들 수 있는 권한이 있는지 확인한다.) (시스템 테이블에 개체의 정보를 저장)





'[DB] > [MSSQL]' 카테고리의 다른 글

프로시저 생성시 변수에 데이터 넣기  (0) 2020.04.25
# [MSSQL] LOCK 걸린 쿼리 확인 후 강제 KILL  (0) 2020.04.17
# 트랜잭션  (0) 2020.04.07
@@ROWCOUNT  (0) 2020.03.26
테이블 복사 및 데이터 복사  (0) 2020.03.26

+ Recent posts