본문 바로가기

분류 전체보기

(48)
쿼리 속도차이 db를 처음짜기 시작했던 때에 짰던 쿼리가 하나 있다 SELECT ta.*, (select filed1 from T_TEST2 where test2_key = ta.test_key1) as name, (select decode(count(1), 0, 'X', 'O') from T_TEST3 where test3_key = ta.test_key2) as val FROM T_TEST1 ta where test_file1 = 'ok' order by test_field2; 딱 봐도 느리고 안좋다. 어쩔수없이 select문에 서브쿼리를 넣어서 특정 데이터를 가져올 때도 있긴하겠다만, 저 쿼리는 구조상 저러지 않아도된다. 주 테이블(T_TEST1)의 데이터 양이 많지 않다면 속도가 별로 느리지 않겠지만 양이 늘어..
오라클 현재 실행중인 쿼리확인 오라클에서 현재 실행중인 쿼리확인을 위한 쿼리 status가 ACTIVE인 것들로 조건을 줘서 검색하면 된다 SELECT a.sid, -- SID a.serial#, -- 시리얼번호 a.status, -- 상태정보 a.process, -- 프로세스정보 a.username, -- 유저 a.osuser, -- 접속자의 OS 사용자 정보 b.sql_text, -- sql c.program -- 접속 프로그램 FROM v$session a, v$sqlarea b, v$process c WHERE a.sql_hash_value=b.hash_value AND a.sql_address=b.address AND a.paddr=c.addr AND a.status='ACTIVE';
ORACLE 데이터 문자,숫자(판별식) REGEXP_LIKE와 REGEXP_REPLACE 함수를 써서 정규식을 활용한 판별을 진행 ​ 1.정규식 [0-9] 숫자, [^0-9] 숫자 외의 것 [가-힣] 한글, [^가-힣] 한글 외의 것 [A-Z] 영어대문자, [^A-Z] 영어대문자 외의 것 (소문자도있음) ​ 2.WHERE 절에서 REGEXP_LIKE 사용 ⊙ 기본 LIKE 문처럼 정규식에 포함된 문자 하나라도 있으면 조회된다. ⊙ NOT을 사용하면 해당 문자가 포함되지않은 데이터가 조회된다 ⊙ ^정규식에 NOT을 사용하여 해당 문자가 아닌 모든것을 제외하므로써 해당 문자만 포함되어있는 데이터만 조회된다 EX) WHERE REGEXP_LIKE(컬럼, '[0-9]') --데이터에 숫자가 하나라도 포함되면 조회 WHERE REGEXP_LIKE(컬럼..
오라클 삭제한 데이터 복구 기본 쿼리 select * from 테이블명 AS OF TIMESTAMP (SYSTIMESTAMP -INTERVAL '시간' MINUTE) 해당 테이블의 10분 전 데이터를 뽑아낼 수 있는쿼리 ​ MINUTE(분) 이 아니라 SECOND(초) 나 HOUR(시간) 으로 도 조회가 가능 만능은 아니고 어느정도 시간이 지나기 전까지만 복구가 가능하며 저런식으로 잘못 삭제한 테이블의 데이터를 가져와서 ​ insert into 테이블명 select * from 테이블명 AS OF TIMESTAMP ( SYSTIMESTAMP - INTERVAL '10' MINUTE ) 이런식의 쿼리로 다시 insert가 가능하다. 혹시 delete를 잘못했을 때 간단하게 복구가능 할 수 있는 쿼리로 반드시 알아둬야할 쿼리라고 생각..
EXISTS, IN 차이점 EXISTS 같은 경우 NOT 을 사용할 경우 NULL을 포함하여 결과 도출 IN 같은 경우 NULL 을 포함하지 않고 결과를 도출한다. ​ EXISTS 든 IN 이든 원하는 결과가 나오지 않을 경우 LEFT JOIN 을 사용하여 NULL값의 여부로 결과를 뽑아내야된다. 4년전의 나는 사소한 것도 참 열심히 기록했구나...
오라클 업데이트(update) 서브쿼리문 여러행의 SELECT 문 결과를 테이블에 업데이트해주기 위한 SQL문 기본문법 UPDATE {대상 테이블명} SET (필드1, 필드2, 필드3) = (SELECT 필드1, 필드2, 필드3 FROM { 테이블명1 }) WHERE EXISTS( SELECT 1 FROM { 테이블명1 } ) 하단 EXISTS 문이 없으면 UPDATE 대상 테이블 전체가 업데이트됨
jquery 다량의 배열 post post할 데이터가 배열에 많이 할당되는 경우가 생겼다. ​ html에서 name이 배열 형태로 되어있는 데이터를 ajax를 이용해서 서버로 post하는데 많은 데이터를 넘겨야되는 일이 있었다. 몇 십 건까지는 문제없었지만 200건이 넘어가는 순간부터는 배열이 넘어가지 않았다. 아마 서버에서 post받는 양이 제한되는듯 하다. 서버를 건드릴수가 없어서 jquery를 수정해봤다. 기존ajax $.ajax({ url: '/url', type: 'post', dataType: 'json', data: $('#form').serialize(), success: function (response) { alert(response.msg); if(response.status=='ok'){ self.location.r..
체크박스 전체선택 및 선택삭제 체크박스를 전체 선택하고 삭제버튼 누를시 선택한 리스트 삭제하는 코드 html 부분 //전체선택버튼 //리스트쪽 체크박스 javascript 부분 //체크박스 전체 선택 function chk_all(){ if($("#checkbox_all").is(":checked")){ $('.list_check').prop('checked', true); }else{ $('.list_check').prop('checked', false); } } //선택라인 모두 삭제 function chk_remove(){ $.each ($('.list_check'), function (index, value) { let obj = $(value); if(obj.is(":checked")){ let tr = obj.parent(..

반응형