전체 글 98

MySQL Character set 처리

MySQL에서 설정 가능한 Character set 관련 변수들은 아래와 같은 것들이 있다. character_set_system (설정 불가능 변수) MySQL 서버가 Identifier를 저장할 때 사용하는 Character set이며, 이 값은 섧정 불가능하고 항상 utf8로 설정되어 있다 character-set-server MySQL 서버의 기본 Character set character_set_client MySQL 클라이언트의 기본 Character set character_set_connection 쿼리 문장에서 인트로듀서가 없는 리터럴 또는 Number를 String으로 변환할 때 사용하는 Character set character_set_database MySQL 데이터베이스의 Defa..

Mysql & Maria/admin 2023.07.05

[mysql] view목록 확인

1. SHOW FULL TABLES SHOW FULL TABLES IN WHERE table_type LIKE 'VIEW'; FULL 키워드를 붙이지 않으면 table_type 컬럼이 없어 조회되지 않는다. 2. SELECT ~ FROM information_schema SHOW FULL TABLES 명령과 달리 모든 데이터베이스 내에 존재하는 View 목록을 확인할 수 있다. SELECT table_schema, table_name, table_type FROM information_schema.TABLES WHERE table_type LIKE 'VIEW'; 만약 특정 데이터베이스에 대한 View 목록만 확인하고 싶다면 WHERE 절로 조건을 추가한다. SELECT table_schema, table..

카테고리 없음 2023.05.19

[mysql] CHECK TABLE

SQL CHECK TABLE tbl_name [, tbl_name] ... [option] ... option: { FOR UPGRADE | QUICK | FAST | MEDIUM | EXTENDED | CHANGED } 옵션은 다음과 같다. FOR UPGRADE : 테이블이 현재 MySQL 버전과 호환되는지 확인한다. QUICK : 잘못된 링크를 확인하기 위한 행 스캔 금지 FAST : 적절히 CLOSE 되지 않은 데이블만 확인. cron 등을 이용해 주기적인 확인을 위해 사용한다. MEDIUM : 행을 스캔하여 삭제된 링크가 유효한지 확인 EXTENEDED : 각 행의 모든 ​​키에 대해 전체 키 조회 수행 CHANGED : 마지막 확인 후 변경되었거나 적절히 CLOSE 되지 않은 테이블만 확인. c..

Mysql & Maria/admin 2023.05.19

mysql login path설정

mysql 5.6부터 보안 문제로 인해 패스워드를 커맨드라인에서 직접 입력하기 어려워졌습니다. shell script 등에서 사용할때 에러가 발생하죠 대신에 login path라는 것을 사용합니다. mysql_config_editor 는 MySQL 서버 연결에 대한 자격정보를 저장하는 유틸리티입니다. 이 자격정보는 현재 로그인 중인 계정의 홈디렉토리에 .mylogin.cnf라는 파일에 저장되며, "login-path" 라는 이름의 옵션 그룹에 난독화되어 저장됩니다. 저장되는 자격 정보에는 자격정보에는 login-path 이름, user, password, host, port, socket 정보가 난독화되어 들어있습니다. 설정한 login-path는 mysql, mysqladmin과 같은 MySQL cli..

Mysql & Maria/admin 2023.05.19

MySQL/MariaDB 모니터링 관련

Mysql / maria DB 관련하여 모니터링 시 주요 확인해야 할 지표 Select Table Lock Sort Temp Table & Temp file Threds Replication Handler Connections Qps * Select 쿼리 관련 모니터링 show status where variable_name like ‘select% Variable Name Comment Select_full_join 다중 테이블 조인 시 후행 테이블에서 전체 테이블 스캔이 발생한 횟수 Select_full_range_join 다중 테이블 조인시 제한된 범위내에서 JOIN키 값을 비교한 횟수 Select_range SELECT쿼리의 범위 조건에 만족하는 레코드를 찾기 위해 제한된 범위를 디스크에서 읽은 ..

Mysql & Maria/admin 2023.05.06

점이력, 선분이력

이력 관리란 ? 모든 업무는 언제 시작해서 언제 끝났는지에 관한 정보가 기록되어 있다. 예를 들면 배송 상태에 따른 이력이 있는데, 배송 시작, 배송 중, 배송 완료 등 각각의 상태에 따라 이력이 관리된다. 이러한 이력을 기록하고 관리하는 것이 이력 관리이다. 이력 관리 대상 이러한 이력 관리는 관리하지 않을 때와 비교했을 때 많은 비용이 들어간다. 따라서 이력 관리가 필요한 데이터는 어떤 것인지 잘 판단하는 것이 중요하다. 관리해야할 데이터가 다음 5가지의 조건에 맞는지 확인하자. 변경 내역을 감시할 필요가 있는가? 시간의 경과에 따라 데이터가 변할 수 있는가? 시간의 경과에 따라 관계가 변하는가? 과거의 데이터를 조회할 필요가 있는가? 과거 버전을 보관할 필요가 있는가? 점 이력(시점 이력)과 선분 ..

오라클/튜닝 2023.04.16

모델링 스터디(쇼핑몰)

- 우리 매장을 찾는 고객명단을 기록 - 구매한 내용 기록 예시 데이터로 아래와 같이 기록된다고 가정한다. 1) 원장 데이터 > 고객은 여러번 방문 가능하고 방문해서 아무것도 사지 않을 수 있다. 2) 원장 데이터 정렬 > 구매한 적이 없는 고객으로 정렬하면 L자형 테이블이 되었다. L자형 테이블의 문제는 공간 낭비가 생긴다. 3) L자형 테이블 분리 > L자형 테이블 분리하여 빈공간 제거 4) 고객 중복데이터 제거 및 기본키 설정 > 고객테이블의 중복값 제거 및 고객이름이 구분자로 가능하다고 가정하여 PK로 설정 > 구매테이블에 고객테이블 pk인 고객이름 컬럼 생성 5) 관계 설정 > 1:N 관계 설정 6) 물리 모델 설계 7) ERD 생성

DA 2023.04.09