반응형

mysql 5

리눅스 DB 백업 및 복원

오라클 백업# 기본 명령어exp [사용자 이름]/[비밀번호] tables=[테이블 이름] file=[백업 파일 이름].dmp# 특정 테이블 백업exp 사용자이름/비밀번호 tables=테이블명 file=백업파일이름.dmp log=로그파일명.log direct=y compress=n statistics=none# 특정 테이블 여러개 동시백업exp 사용자이름/비밀번호 tables=TABLE1,TABLE2,TABLE3 file=백업파일이름.dmp statistics=none# 특정 사용자의 테이블 백업exp 사용자이름/비밀번호 owner=사용자이름 file=백업파일이름.dmp log=로그파일명.log direct=y compress=n statistics=none# DB전체백업(DBA 비밀번호필요)exp sys..

리눅스 2025.04.09

오라클,MySQL 특정 문자 정렬

리스트를 출력하다보면 특정문자로 정렬해서 나타내야되는 경우가있다.​예를들어 데이터 중 필드에 '완료'가 된 데이터를 먼저 출력해야될때가 있다면오라클의경우SELECT * FROM T_TABLE ORDER BY DECODE(F_STATUS,'완료',1);이런식으로 오라클 내장 함수인 DECODE를 사용하여 F_STATUS에 완료인 필드들을 1순위로 출력해주면 된다. ​Mysql(MariaDB)의경우SELECT * FROM T_TABLE ORDER BY FIELD(F_STATUS,'가','가나다') DESC;Mysql의 경우 FIELD함수를 사용하여 위와같이 1순위 '가', 2순위 '가나다' 라는 단어가 필드에 들어가는 데이터 우선정렬을 출력해줄 수 있다.​오라클과 Mysql의 다른점은 오라클 DECODE의 ..

DB 2024.10.17

오라클 DB링크

오라클의 DB의 실제 운영서버에서 개발서버 쪽으로 데이터를 옮겨야하는 상황이 있었다.예전이였으면 데이터를 파일로뽑고, 그 데이터를 sqlldr로 넣는 방식으로 옮겼겠지만 이번엔 DB링크로 옮기게 되었다. 기존에 같은 서버에서 다른 스키마의 DB까지는 접근해서 사용했는데 다른 서버의 DB를 가져오는 링크는 처음 만들어봤다. (DBA한테 허락을 받았다) 자 만들어보자CREATE DATABASE LINK LIVE_MY_MAP -- 링크로 사용할 이름CONNECT TO MYMAP -- 링크할 서비스 DB 이름IDENTIFIED BY "TESTPWD123" -- 비밀번호 쌍따옴표 필수USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS =..

DB/Oracle 2024.07.05

mysql 시퀀스

오라클만 사용하다보니 mysql을 사용할 일이 거의 없어서 몰랐는데mysql에는 seq.nextval이 없었더라...그래서 찾아보니 함수로 만들수 있었다.단계는 4단계였다.시퀀스용 테이블 생성시퀀스 생성 프로시저 생성생성한 시퀀스의 다음 값 가져오는 함수 생성시퀀스를 생성 할 프로시저 실행이렇게 하면 이제 nextval 이라는 이름의 함수를 사용할 수 있게된다.만들어보자 시퀀스용 테이블 생성create table T_SEQ( NAME varchar(32), CURRVAL BIGINT UNSIGNED)ENGINE = InnoDBcomment '시퀀스용테이블';저기서 NAME을 기준으로 시퀀스가 배정된다.​2. 시퀀스 생성 프로시저 생성DELIMITER $$CREATE PROCEDURE `create_seq..

DB/MySql 2024.05.19

쿼리 속도차이

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)의 데이터 양이 많지 않다면 속도가 별로 느리지 않겠지만 양이 늘어..

DB 2024.03.22
반응형