Index 3

부분 인덱스

부분 인덱스그냥 간단하게 말하자면 인덱스 기준을 전체가 아니라 일부분에만 거는 것이다.이게 뭐임말 그대로 부분적인 인덱스개발할 때에 MySQL 에서 VARCHAR(255) 이런 식으로 좀 큰 데이터를 사용하는 경우가 있는데, 이런 큰 값에 대해 인덱스를 걸어주는건 힘들다.근데 이거 뒤에까지 다 쓰지는 않지만 앞부분에 대한 검색이 종종 일어날 수는 있다.장점인덱스 크기 설정 가능일부분에 대해서만 인덱스를 생성하기 때문에저장 공간이 절약된다.인덱스 조회 속도가 향상된다.인덱스 생성할 때에 시간소요가 줄어든다.말하자면, 그냥 작은 인덱스를 만들기 때문에 전체를 다 만드는 것 보다 확실히 공간이나 속도 면에서 장점이 있다는 것이다.단점?인덱스 크기를 설정해서 발생일부분에 대해서만 인덱스가 생성되기 때문에유니크 ..

MySQL 페이징 해보자(feat offset, infinite scroll)

보통 개발할 때에 반드시 공부하고 적용하는게 페이징일 것 같다. 그리고 아마... 처음에는 offset limit을 써서 적용을 할 것 같다. 이 offset limit에 대해, 그리고 offset limit의 문제점에 대해, 해결 방안에 대해 써보려고 한다. 일단은 간단한 테스트를 위해 CREATE TABLE board ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, heart INT DEFAULT 0 );이런 테이..

MySql 인덱스 - 기본 개념

MySQL 인덱스 실무에서 엄청나게 중요한녀석임... 이를 사용해서 select를 할 때에 데이터를 빠르게 응답하도록 할 수 있음! 사실 인덱스를 한다고 뭐 쿼리가 바뀌는건 아니다. 그냥 이걸 통해 속도를 빠르게 하는거임. 데이터베이스를 빠르게 하도록 하는 "튜닝" 에서 가장 핵심적인 것이 인덱스이다. 물론 막 쓰면 오히려 성능을 떨어뜨릴 수도 있다. 그래서 일단 인덱스의 개념이랑 활용 등을 찾아보도록 한다. 인덱스 개념 예를 들어 데이터베이스에 사람 이름 키 몸무게 을 갖는 테이블이 있을 때 1 류찬 178 70 2 김찬 189 99 3 박찬 140 39 4 이찬 180 34 5 반찬 200 50 6 징기스찬 160 50 7 가슴이벅찬 390 34 요런 식으로 있다고 하자. (일단 동명이인은 없다고 가..