본문 바로가기
반응형

프로그래밍/Database16

[MariaDB] mariadb 접속 오류 및 대소문자 구분 mariadb 접속 오류 mariadb를 설치하고 외부에서 접속하려고 했을 시 connection Error가 나는 경우가 있다. 이는 bind Address를 127.0.0.1로 디폴트로 설정하여 로컬로 접속하는 경우만 사용가능하도록 설정되어 있다. mariaDB일 경우 /etc/mysql/mariadb.conf.d/50-server.cnf 에서 bind-address=127.0.0.1 => 0.0.0.0 으로 변경해준다. 대소문자 구분 해제 /etc/mysql/mariadb.conf.d/50-server.cnf 에서 lower_case_table_names = 1 을 추가해준다. 참고로 0은 대소문자 구분, 1은 대소문자 구분해제 0일 경우 : 대소문자 구분함 1일 경우 : 대소문자 구분안함 2020. 4. 17.
(데이터베이스) Delete, Drop, Truncate 데이터 삭제하기 1. DELETE: 테이블의 행을 삭제할 수 있다.ex) DELETE FROM student; 특징테이블이나 클러스터에 행이 많으면 행에 삭제 될 때마다 SYSTEM 자원이 소모된다.TRIGGER이 걸려있다면 각 행이 삭제될 때 실행된다.이전에 할당되었던 영역은 삭제되어 빈 테이블이나 클러스터에 그대로 남아 있게 된다. 2. DROP : 테이블을 삭제할 수 있다ex) DROP TABLE student; 특징테이블이나 클러스터를 삭제하면 관련된 index, constraint, trigger도 삭제되며 삭제된 테이블이나 스컬러스터 테이블에 종속된 Objects는 무효화 된다.삭제된 테이블이나 클러스터 테이블에 부여된 권한도 삭제된다. 3. TRUNCATE : 테이블의 모든 행을 삭제한다.EX) TRUNCA.. 2019. 1. 19.
(데이터베이스) Merge into 사용하기 MERGE INTO 란? : 특정 테이블이나 자기 자신을 비교하여 조건에 따라 update 혹인 insert를 할 수 있다.예를 들어, 특정 조건의 데이터가 이미 테이블에 존재하면 update하고 없는 경우에는 insert 하는 것을코드를 사용하는 것이 아닌 쿼리 단에서 해결할 수 있습니다. 사용법 MERGE INTO table_name aliasUSING (table /view / subquery) aliasON (join condition)WHEN MATCHED THEN -- 조건에 데이터가 존재할 경우UPDATE SET col1 =val1WHEN NOT MATCHED THEN -- 조건에 데이터가 존재하지 않을 경우INSERT (column lists) VALUES (values); 예제 -> 성적.. 2019. 1. 18.
(데이터베이스) 파티셔닝(Partitioning) 이란? 파티셔닝(Partitioning) : 큰 테이블이나 인덱스를 관리하기 쉬운 단위로 분리하는 방법이다. 장점가용성(Availability) : 물리적인 파티셔닝으로 인해 전체 데이터 훼손 가능성이 줄어들고 데이터 가용성이 향상된다.관리용이성(Manageability) : 큰 테이블들을 제거하여 관리를 쉽게 해준다.성능(Performance) : 특정 DML과 Query 성능을 향상시킴, 많은 Insert가 있는 OLTP 시스템에서 Insert 작업들을 분리된 파티션 들로 분산시켜준다. 단점테이블간 조인에 대한 비용이 증가한다.테이블과 인덱스를 별도로 파티션 할 수는 없다. 테이블과 인덱스를 같이 파티셔닝 해야한다. 파티션의 종류 1. Range Partitioning : 어떤 특정 컬럼의 값을 기준으로 분.. 2019. 1. 13.
반응형