전체 글 (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(.. 이전 1 2 3 4 5 6 다음