전체 글 210

DBeaver)index 만들기 / 성능평가

index 만들어두면 성능이 향상된다고 했는데 빨리 강의하단에 있는 library.csv 파일 가져와서 얼마나 SELECT 성능이 향상되는지 테스트해봅시다.어떤 도서관의 소장도서 6만권의 정보가 들어있는 데이터셋입니다.   ▲ 근데 csv파일 가져오기할 때 Configure 메뉴에서 데이터타입을 varchar(300) 이상으로 설정해야 잘 가져올 수 있습니다.책이랑 저자 이름 긴게 좀 많아서요         execution plan (실행계획) 분석해보기  SELECT * FROM library WHERE 등록번호 = 'CEM97499' 방금 가져온 테이블에서 책 아무거나 하나만 출력해봅시다. 근데 뭔가 오래걸리는 것 같으면 실행계획부터 분석해봐도 됩니다.   원하는 SELECT 쿼리문에 커서 찍고 D..

Mysql&DBeaver 2024.09.08

DBeaver)index 개념정리

테이블 안에 데이터가 1억개 있는데 거기서 'age' 컬럼이 20인 사람을 찾고 싶으면 어쩌죠? SELECT 명령을 내리면 되는데 그럼 컴퓨터는 1억개의 행을 다 뒤져봐야합니다. (매우느림)그게 싫으면 index를 만들어두면 됩니다.     업다운놀이  방금 1부터 100까지 써있는 카드를 책상에 진열해놨습니다.제가 지금 어떤 숫자를 생각하고 있는지 맞춰보십시오.저는 "예/아니오" 로만 대답할 수 있습니다.   멍청한 사람은 1입니까? / 아뇨2입니까? / 아뇨3입니까? / 아뇨이렇게 계속 물어보겠지만 똑똑한 사람은50보다 큽니까? / 넹그렇다면 75보다 작습니까? /넹그럼 68보다 큽니까? / 아뇨이런 식으로 반을 자르면서 답이 아닌걸 소거합니다. 그럼 훨씬 적은 질문으로 답을 찾아낼 수 있으니까요. ..

Mysql&DBeaver 2024.09.08

DBeaver)procedure, function 안에서 쓸 수 있는 IF

뭘 하든 경우에 따라 다른 코드를 실행하고 싶은 경우가 많습니다. 그럴 때 IF / THEN / ELSE 문법을 사용합시다.    조건에 따라 다른 SQL 문장을 실행하고 싶다 예를 들어봅시다. card테이블의 '사용금액' 컬럼 총 합계를 구하는데총 합계가 500만원이 넘지 않으면 SELECT '분발하세요'총 합계가 500만원이 넘으면 SELECT '잘했어요'를 실행하고 싶으면 어떻게 코드를 짜죠? 예전에 배운 IF() 또는 CASE 써도 가능하겠지만그 문법들은 "이 경우엔 A, 저 경우엔 B를 그 자리에 남겨주세요" 이렇게경우에 따라 문자나 숫자자료를 1개 남겨주는 문법일 뿐이라조건에 따라 SELECT같은 쿼리문은 남기지 못합니다.       조건에 따라 다른 코드를 실행하고 싶으면 IF THEN EL..

Mysql&DBeaver 2024.09.08