본문 바로가기
반응형

전체 글116

Oracle_HINT, USE HASH로 성능 끌어올리기 얼마전 속도가 오래 걸리는 쿼리 튜닝 요청을 받고, 메뉴얼데로 튜닝해서 돌려봤는데 엄청난 속도차이를 경험했다. 아래 코드는 예시로 학과를 조회하는데 학과별로 학생수와 학과시험에서 50점 이하인 학생 수를 함께 조회하는 쿼리를 예로 들어보자. 12345678910111213SELECT A.DEPTID , A.DEPTNAME , (SELECT COUNT(*) FROM tSTUDENT -- 학생테이블 WHERE DEPTID = A.DEPTID ) AS TOTALCNT -- 학과학생수 , (SELECT COUNT(*) FROM tSTUDENT TS -- 학생테이블 INNER JOIN vTESTRESULT VT ON VT.STUDENTID = TS.STUDENTID AND VT.SCORE C로 읽어 드린다는 것을.. 2018. 5. 25.
리눅스_자주 사용하는 명령어 유지보수 할 적, 아래 명령어들을 자주 썼다. df -h : 하드용량 확인 find . -name *markany* : 이름에 'markany'가 들어간 파일이나 디렉토리를 .부터 찾아줌 find /home/test -name "*.swp" -exec rm {} \; : 해당경로에 이름이 .swp로 끝나는 파일을 찾아서 {}에 담고 삭제(rm) 실행 find /home/test -name "*.swp" -delete 명령어로도 삭제 가능 ps -ef | grep [문자열] : 문자열이 들어간 프로세스 확인 pwd : 현재 경로 확인 tail -f [파일명] : 로그볼때 편함 reboot : 재부팅 halt -p : 끄기 dpkg --get-selections [프로그램명] : 해당 프로그램이 설치되있는지.. 2018. 5. 25.
Spring_@Scheduled 사용하기 프로젝트에서 배치 돌려야 할 경우가 자주 발생 한다. SpringFrameWork에서 제공하는 @Scheduled 를 사용하면 원하는 시간대에 특정 서비스를 동작시킬 수 있다. 먼저, 아래와 같이 context 설정 파일에 scheduler를 등록한다. 1 2 3 4 5 6 Colored by Color Scripter cs 그리고 com.test.schedule 패키지에 java파일 하나 만들고, @Service와 @Scheduled 어노테이션을 써서 서비스를 등록한다. 1 2 3 4 5 6 7 8 @Service public class ScdMain { @Scheduled(cron = "0 5 18 * * ?") public void task() throws Exception{ // To Do .. .. 2018. 5. 25.
Oracle_Column type 변경 시, 이미 데이터가 있을 때 어떻게? TBLSTUDENT 테이블의 SCORE를 varchar2(기존)에서 number(최신)으로 바꾸려고 할때, 이미 데이터가 있는 경우 변경이 불가능하다. 이때 꼼수로 아래와 같이 변경이 가능하다. 123456ALTER TABLE TBLSTUDENT ADD( SCORE_TEMP NUMBER(10,1)); -- 임시 컬럼 추가 (NUMBER(10,1)타입은 숫자형 소수점 1자리 허용)UPDATE TBLSTUDENT SET SCORE_TEMP = SCORE ; -- 임시 컬럼에 기존 값들 복사ALTER TABLE TBLSTUDENT DROP(SCORE); -- 기존 컬럼 삭제ALTER TABLE TBLSTUDENT RENAME COLUMN SCORE_TEMP TO SCORE; -- 임시컬럼 이름 변경COMMEN.. 2018. 5. 25.
Javascript 타이머 만들기 페이지에 남은 시간을 타이머로 표시 시킬려고 한다. 우선 아래와 같이 1초간격으로 수행되는 setInterval함수를 작성 1234$(document).ready(function(){ tid=setInterval('msg_time()',1000); // 타이머 1초간격으로 수행}); Colored by Color Scriptercs 이어서, msg_time()을 아래와 같이 작성해준다. 123456789101112131415161718192021var stDate = new Date().getTime();var edDate = new Date('2018-10-25 24:00:00').getTime(); // 종료날짜var RemainDate = edDate - stDate; function msg_tim.. 2018. 5. 25.
[JSP]requestScope에서 현재 URL 가져오기 *scope : 영역 객체로 page, request, session, application 영역이 있다. 만약 어떤 VIEW단 jsp에서 현재 URL값을 알고 싶을 때, 아래와 같이 EL태그를 써서 불러올 수 있다. 1 2 3 4 5 // params // url Colored by Color Scripter cs (자바단에서 request객체를 이용해서도 알수 있다. request.getRequestURI()를 쓰면 된다.) 2018. 5. 25.
Oracle_LISTAGG함수, 여러 데이터를 한 Row에 표현 어떤 그룹리스트를 화면에 뿌리는데 해당 그룹에 하위 아이템들을 동시에 뽑아 내야할 때 Oracle의 LISTAGG함수를 사용하면 된다.(Oracle 11g부터 지원되고, 이전버전에서는 WM_CONCAT이 있다.) 사용법은 아래와 같다.123456SELECT deptname , (SELECT LISTAGG(empname,',') WITHIN GROUP (ORDER BY empname) FROM tEMP WHERE deptcd = A.deptcd) AS empnames FROM tDEPT A Colored by Color Scriptercs 위와 같이 쓰면 부서 리스트를 뽑아오는데, 동시에 해당부서의 사원들을 ,로 구분해서 쭈욱~ 뽑을 수 있다. 2018. 5. 25.
숫자입력시 ,(콤마) 찍기 1000000000와 같이 자리수가 커지면 숫자를 읽기가 불편하다. 100,000와 같이 3자리 단위로 ,를 찍어주면 수월해진다. 우선 javascript함수를 하나 만든다. 123456function numberWithCommas(x) { x = x.replace(/[^0-9]/g,''); // 입력값이 숫자가 아니면 공백 x = x.replace(/,/g,''); // ,값 공백처리 $("#money").val(x.replace(/\B(?=(\d{3})+(?!\d))/g, ",")); // 정규식을 이용해서 3자리 마다 , 추가 } Colored by Color Scriptercs 그리고 html에 해당 콤마 효과를 줄 input태그에 이벤트함수르 추가한다. 12 Colored by Color Scr.. 2018. 5. 25.
반응형