(Mysql)함수생성
·
DB/mysql
mysql 함수 생성 3개의 변수를 받아서 테이블 검색해서 값 추출 해당 값이 어떤 한글이름으로 보여줄지 사용 하기 위한 방법 mapping_table 생성 CREATE TABLE `mapping_table` ( `table_name` varchar(40) NOT NULL, `column_name` varchar(45) NOT NULL, `value` varchar(45) NOT NULL, `value_name` varchar(45) DEFAULT NULL, `memo` varchar(45) DEFAULT NULL, PRIMARY KEY (`table_name`,`column_name`,`value`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 함수 생성 getMappingCod..
mysql 접속 속도 느릴경우(The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)
·
DB/mysql
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 의 원인은 엄청나게 많지만 그중에 찾기 힘들었던 원인이 였습니다. 워크 밴치는 접속되고 서버에서도 접속이 되는데 spring batch에서 접속이 계속 안되서 원인 파악을 하니 서버 안에 mysql 의 접속 시간이 오래 걸린 원인을 파악후 처리; 다른사람등은 저처럼 오래 끌지 말고 빠르게 접속 해결 해주세요. 디비 접속 시간 문제입니..
Partition,Index 조회,추가,삭제 간단 명령어 정리
·
DB/mysql
-- 파티션 확인 SELECT TABLE_NAME, PARTITION_NAME, PARTITION_METHOD, PARTITION_EXPRESSION, PARTITION_DESCRIPTION FROM information_schema.PARTITIONS WHERE TABLE_NAME = 'partition_test_table'; -- 파티션 추가 alter table partition_test_table PARTITION BY RANGE (partition_test_column) ( PARTITION p100 VALUES LESS THAN (2000000), PARTITION p200 VALUES LESS THAN (4000000), PARTITION p300 VALUES LESS THAN (600000..
파티셔닝(Partitioning) 추가 및 수정(예시포함)
·
DB/mysql
1. 범위 분할 (RANGE partitioning) 생성과 동시에 파티션 등록 PK가 있을경우 파티션컬럼에도 PK가 필요합니다. create table `tb_range_table` (id int not null, name varchar(10), dept varchar(10), hiredate date not null default '2010-01-01' ) engine=innodb default charset=utf8mb4 partition by range(year(hiredate)) ( partition p0 values less than(2011), partition p1 values less than(2012), partition p2 values less than(2013), partition..
파티셔닝(Partitioning)이란?
·
DB/mysql
파티셔닝(Partitioning)이란? 파티셔닝이란 데이터베이스를 여러 부분으로 분할하는 것이다. VLDB(Very Large DBMS)와 같은 하나의 DBMS에 너무 큰 테이블이 들어가면서 용량과 성능 측면에서 많은 이슈가 발생할 때 파티셔닝 기법을 이용해 해결할 수 있다. 즉, 파티셔닝은 큰 테이블이나 인덱스를 작은 파티션(Partition) 단위로 나누어 관리하는 기법을 뜻한다. 파티셔닝은 데이터베이스에서 중요한 튜닝 기법으로, 데이터가 너무 커져서 조회하는 시간이 길어질 때 또는 관리 용이성, 성능, 가용성 등의 향상을 이유로 행해지게 된다. 이러한 파티셔닝을 이용하면 다음과 같은 이점을 얻을 수 있다. 1. 성능 (Performance) 특정 Query의 성능을 향상시킬 수 있다. 대용량 Dat..
[mysql] 인덱스 생성, 삭제, 확인
·
DB/mysql
위 테이블과 같은 구조에 인덱스를 생성하는 예제 입니다. 1. 인덱스 추가로 생성 CREATE INDEX ON ( 칼럼명1, 칼럼명2, ... ); (예제) CREATE INDEX idx_test ON books ( writer ); 2. 테이블 생성시 인덱스 생성 INDEX ( 칼럼명1, 칼럼명2 ) UNIQUE INDEX ( 칼럼명 ) --> 항상 유일해야 함. (예제) CREATE TABLE `books` ( `id` varchar(5) NOT NULL, `name` varchar(20) NOT NULL, `writer` varchar(20) NOT NULL, `price` decimal(10,2) DEFAULT '0.00', `genre` varchar(20) NOT NULL, `publisher..