본문 바로가기

전체 글

(204)
[DB] 테이블간의 관계성 만들기 기존에 수영장 정보 테이블을 만들었었다 링크참조: https://tacit.tistory.com/147 [DB] CREATE 로 테이블 만들고 INSERT 해보기 create database playground; use playground; CREATE TABLE swimming_pool ( idx int NOT NULL AUTO_INCREMENT COMMENT '수영장 고유번호', title varchar(20) NOT NULL COMMENT '수영장 이름', type tinyint.. tacit.tistory.com 이제 수영장 강사, 강습, 직원 등 추가적인 정보들을 위한 테이블을 만들고, 서로 관계성을 연결시켜보자 먼저 강사정보 테이블 CREATE TABLE trainer ( `idx` int N..
[DB] INDEX 1. Index 란 색인, 빨리 찾기 위한 자료구조, 추가적인 작업공간과 저장공간을 할당한다. 데이터와 데이터의 위치를 저장 2. 장점 select update delete 성능이 향상된다 인덱스를 사용하지 않는 컬럼을 조건절에 검색시, 해당 테이블을 full scan 한다 시스템 부하를 줄일 수 있다 3. 단점 인덱스를 관리하기 위한 추가적인 공간 (약 10%) 이 필요하다 추가 작업이 필요하다 인덱스를 잘못 사용하는 경우 오히려 성능이 저하된다 -> 테이블 rows가 적은 경우는 인덱스를 타고 찾는게 오히려 느려짐 -> update, delete의 경우 데이터를 삭제해도 기존의 인덱스는 삭제하지 않고, '사용하지 않음' 처리를 해주기 때문에, 만약 update, delete가 빈번하게 발생하는 테이블..
[DB] 문자형 컬럼을 탐색하는 방법 1. LIKE 연산자 컬럼에 저장된 문자열 중에서 비슷한거 찾아줘 2. 부분 문자열 검색에 사용되는 패턴 % : *(아스타) 역할하는 와일드카드, 아무나 길이 제한 없이 다 _ : 한자리 모두 같은 결과를 뱉는다. ESCAPE : 검색하고 싶은 문자 자체가 '%' 이거나 '_' 일때 특수문자를 스트링 취급하라고 알려주기 substr 연산을 사용하여 맨 첫글자가 뭐인것, 이런식으로도 검색가능 단, 해당 컬럼에 인덱스를 걸어둔 경우 그 컬럼에 대해서 연산을 한 결과로 검색을하면, 인덱스를 타지 못한다(성능저하)