상세 컨텐츠

본문 제목

직접 경험한 DB 생생후기

Side Project/Public

by NayC 2021. 5. 17. 20:41

본문

728x90

cf) 인덱스 자료구조

  • db 분야에서 테이블 동작 속도를 높여주는 자료구조
  • 원본 테이브 기준으로 잘 정렬된 별도의 데이블을 생성해야 데이터 엑세스 성능을 높일 수 있음
  • 정규화가 되어 있지 않은 테이블은 컬럼이 많으며, 이에 따라 조합할 수 있는 인덱스가 많아지게 됨
    -> 인덱스가 많으면 갱신 성능이 많아지고 디스트 공간도 많아지므로 인덱스를 효과적으로 사용하기 위해서라도 정규화가 잘 되어 있어야 함

 

 

상황) 이전에는 한 테이블 안에 분류/제목/저자가 다 있어서 한 테이블만 불러오면 됐는데, 모델링을 배우고 난 후 3정규화 때문에 '분류'는 따로 테이블을 만들어줬다. 

 

이렇게! 

Q. sql 식을 어떻게 작성해야 하나? 

- 컴마 찍어서 BOOK도 가지고 오고 CATEGORY도 가지고 오는걸까? 

 

 


 

괜히 JOIN 배우고, 뭐 배우고 다양한 함수들 배운거 아니다.

쓰려고 배운거지! 

 

 

JOIN 시킨다. 

SELECT B.*, C.NAME FROM BOOK B LEFT JOIN CATEGORY C ON B.CATEGORY_ID = C.ID WHERE "+field+" LIKE '%"+query+"%' ORDER BY B.ID

 

오른쪽 사진은 BookService.java 사진

 

1) 먼저 Book.java에 type이란걸 하나 추가해주고 (이름 자유 / Oracle에서는 굳이 추가해주지 않아도 됨. 지금 이 공간에서 받아줄 '공간'을 마련한 개념이니) 

2) "name"가지고 와서 / book에다가 set해줘서 list에 추가해주면 list 가지고 활용 가능해지는 것

 

화면에 출력해보려고 아무곳에나 꽂아봤었다ㅎㅎ 

 

sql 쿼리식을 가지고 놀아보잣

728x90
반응형

'Side Project > Public' 카테고리의 다른 글

Service vs Dao  (0) 2021.06.11
직접 느끼는 VIEW 데이터 활용  (0) 2021.05.25
63일차 - 페이지 보고 인터페이스 정의 & 구현  (0) 2021.05.20
프로젝트를 위한 폴더 관리  (0) 2021.05.12

관련글 더보기