잡 메모 (4) 썸네일형 리스트형 [Mysql] 효율적인 Index 사용 예제 효율적인 Index 사용법 Real My SQL을 읽다가 Index를 효율적으로 사용하는 방법을 정리하면 도움이 될거 같아 글을 남긴다. [MYSQL 환경] Server version: 8.0.29 Homebrew Storage engine = InnoDB; transaction isolation = Repeatable read 들어가기에 앞서 이 글에 사용될 테이블이다. 인덱싱은 각 테스트마다 만들어 줄것이다. 1. Index full scan Mysql은 쿼리에 첫번째 인덱싱된 열이 명시되어있지 않으며, 인덱싱된 열로 쿼리를 처리할 수 있을때, index full scan을 사용한다. 예를들어, 위 테이블에 name, age순으로 인덱싱이 걸려있고 아래와 같은 쿼리를 날린다고 가정을 해보자. sele.. [MYSQL] InnoDB 인덱스 락 테스트 Mysql의 InnoDB는 인덱스 기반의 레코드락 잠금을 지원한다. 즉, 변경할 행을 인덱스 기준으로 조회하고 조회된 행 모두에 잠금을 건 다음 변경을 진행하는데, 이 때문에, InnoDB에서는 인덱스를 잘 정의하는것이 성능과 직결된다. 이 게시글 에서는 InnoDB에서 업데이트를 진행시 잠기는 과정을 실습해볼것이다. [테스트 환경] Server version: 8.0.29 Homebrew Storage engine : InnoDB transaction isolation : REPEATABLE-READ 테스트 목적 : 스토리지엔진이 InnoDB인 테이블에 업데이트 쿼리시 잠기는 행 조사 - 테스트 해볼 테이블 정보 m_id와 m_area열은 인덱싱 되어있고, m_name은 인덱싱 되어 있지 않음을 기억하.. [MYSQL] SNAPSHOT - Phantom read 테스트 [MYSQL] InnoDB - Phantom read 테스트 mysql은 select 문으로 데이터를 읽어올때, 해당 트랜잭션 내에서 처음으로 읽어온 SNAPSHOT을 기반으로 데이터를 읽어온다. 이 특징 때문에, mysql는 Phantom read현상이 다른 DB와 다르게 발생한다고 한다. 이 포스팅에서는 Phantom read가 발생할 수 있는 세가지 환경 1. REPEATABLE-READ 2. READ-COMMITTED 에서 Phantom read가 발생하는지 확인하는것을 목적으로 한다. (READ-UNCOMMITED에서는 SNAPSHOT을 만들지 않는다고 하니 테스트 하지 않을것이다) [테스트 환경] Server version: 8.0.29 Homebrew Storage engine : InnoD.. [잡 메모] Python3 로그인 필요한 웹 페이지 크롤링 앱 만들기 팀 프로젝트를 진행하는데, 우리학교 트리니티에 있는 정보가 필요해서 웹 크롤링을 공부하고 만들려고 했다. 로그인 까지만 하고 중간에 크롤링 할 필요가 없어져서 그만뒀다. ㅎ 이 글은 웹 크롤링을 하는법이 아닌, 웹 크롤링시 로그인이 필요한 웹에 로그인 하는 방법과 팁..?을 적은 글이다. 파랑색 글자는 내가 이해한 방식이다. 틀릴수도있다. 기본 설정 파이썬을 이용해 웹 크롤링 코드를 짰는데, 터미널을 켜고 pip install requests beautifulsoup4 를 입력해주자. (pip버전이 낮을경우 pip3 install requests beautifulsoup4 라고 입력해야한다.) 설치가 완료되면 기본 설정은 끝이다. 웹 크롤링 로그인... 소스코드를 보기전에 로그인 요청을 받았을.. 이전 1 다음