not in, not exists 사용시 쿼리속도가 느릴때

not in, not exists 사용시 쿼리 속도가 느릴때. 특정 항목을 제외 시키기 위해 not in, not exists를 이용합니다. 단건 몇개의 경우 not in으로 처리하고 다건일 경우에는 not exists를 사용합니다. 속도가 너무 느릴경우엔. left join을 이용하여 붙이고 null인 항목을 가져오면 제외된 항목을 가져옵니다. 예) -- not exists 로 조회 explain extended select count ( a . user_id ) as cnt , c . chnl_id , c . use_intt_id from user_ldgr a left join use_intt_per_user c on a . user_id = c . user_id where a . ATHZ_DT < '20160101' and not exists ( select b . user_id from lgn_prhs b where b . lgn_dt between '20150101' and '20151231' and b . user_id = a . user_id group by b . user_id ) group by chnl_id ; -- left join 로 조회 explain select count ( a . user_id ) as cnt , c . chnl_id , c . use_intt_id from user_ldgr a left join use_intt_per_user c on a . user_id = c . user_id left join ( select b . user_id from lgn_prhs b where b . lgn_dt between '20150101' and

ls 명령어의 파일 사이즈 쉽게 확인하기

ls 명령어의 파일 사이즈 쉽게 확인하기 ls 의 스위치 옵션 -h (--human-readable) 를 이용하면 KB/MB/GB 단위로 쉽게 파일 사이즈 확인이 가능하다. [HOSTWAY] /home > # ls -al h total 312G drwxr-xr-x.  6 root      root      4.0K Oct 22 23:16 . drwxrwxrwt  25 root      root      4.0K Oct 22 09:36 .. -rw-r--r--   1 root      root       98G Oct 23 13:07 100GB_LUN01 -rw-r--r--   1 root      root       200G Oct 23 13:07 200GB_LUN01 drwx------.  2 root      root       16K Oct 13  2011 lost+found drwxr-xr-x   3 root      root       4.0K Feb 28  2012 svn -rw-r--r--   1 root      root      9.8G Nov 11  2011 SWAP_FILE 또한, -S 스위치 옵션을 사용하면, 사이즈로 descending 정렬이 가능하다. [HOSTWAY] /home > # ls -al S h total 312G -rw-r--r--   1 root      root       200G Oct 23 13:07 200GB_LUN01 -rw-r--r--   1 root      root       98G Oct 23 13:07 100GB_LUN01 -rw-r--r--   1 root      root       9.8G Nov 11  2011 SWAP_FILE drwx------.  2 root      root       16K Oct 13  2011 lost+found drwxr-xr-x.  6 root      ro

반복 ping 테스트와 테스트 시간을 함께 나타내기

리눅스 OS에서 ping 아이피주소 | while read pong; do echo "$(date): $pong"; done

부모창 닫을때 자식창 함께 닫기

function closeChild() { if(gWin!= null) gWin.close(); if(win!= null) win.close(); } <body  onUnload="closeChild();">

부모창에서 자식창으로 값넘기기

부모창 function sendToChild() { var sv1 = gItemCd; var sv2 = gItemKnd; var sv3 = gNatCd; gWin.document.getElementById('srchItemCd').value = sv1; gWin.document.getElementById('srchItemKnd').value = sv2; gWin.document.getElementById('srchNatCd').value = sv3; } 자식창 <input type="text" id="srchItemCd" name="srchItemCd"  /> <input type="text" id="srchItemKnd" name="srchItemKnd"  "/> <input type="text" id="srchNatCd" name="srchNatCd"  />

선택된 Row의 특정컬럼값 수정

$ ( "#my-jqgrid-table" ). jqGrid ( 'setCell' , rowId , '컬럼명' , '수정데이터' );

jqgrid get selected row 선택된 줄의 정보 가져오기

jqgrid를 사용하다보면 선택된 줄의 정보를 사용해서 처리해야 하는 경우가 많이 생긴다     선택된 줄에 설정된 아이디 값을 가져오거나 선택된 줄의 rowdata 에서 특정 값을가져오기 위해서는     getGridRowData, getGridParam 등을 사용하면된다.     $( "{gridtableid}" ).getGridParam( "selrow" );     $( "{gridtableid}" ).jqGrid('getGridParam', "selrow" );       위의 스크립트를 실행하면 현재 선택되어있는 줄의 아이디 값을 반환한다     만약 선택된줄이 없다면 null을 반환하며     jqGrid를 만들때 multiselect옵션을 true로 주엇다면 선택된줄들중 마지막에 선택된 줄의 id 값을 반환한다     만약  multiselect옵션이 true  이고 여러 줄을 선택해 이줄들의 아이디 값을 배열로 받고 싶다면     $( "{gridtableid}" ).jqGrid('getGridParam', 'selarrrow');     $( "{gridtableid}" ).getGridParam('selarrrow');    위 스크립트를 사용하면 된다     선택된항목의 rowdata를 가져오고 싶다면 아래 스트립트를 사용하면 된다     $( "{gridtableid}" ).jqGrid('getRowData', rowid);     $( "{gridtableid}" ).getRowData( rowid );