MySQL의 UUID() 함수는 Universally Unique Identifier(범용 고유 식별자)를 생성하는데 사용된다.
UUID는 각각의 값이 유일하다고 보장되는 128비트의 식별자로, 일반적으로 32개의 16진수 문자로 표현된다.
종류 (SHA-224, SHA-256, SHA-384, and SHA-512)
자주 사용되는건 SHA-256과 SHA-512
사용법 SELECT SHA2('abc', 224);
첫번째 인수는 해시화할 문자열
두 번째 인수는 결과의 원하는 비트 길이. 값은 224, 256, 384, 512 또는 0(256과 동일).
패스워드 안호화에 사용
isert into `member` (regDate, loginId, loginPw, name)
select (now(), uuid(), 'pw', '아무개')
from `member`;
자신의 테이블을 참조하여, 임의의 고정값을 참조하게 하면, 자신의 테이블 레코드 숫자 만큼 계속하여 테스트 데이터를 생성할 수 있다.
SQL_NO_CACHE
성능 측정시 캐시참조로 인해 매 측정마다 시간이 단축될 수 있다.
SQL_NO_CACHE옵션으로 측정 시간을 단축할 수 있다.
SELECT SQL_NO_CACHE 칼럼명 FROM 테이블명;
인덱스 구조


이진검색을 사용하면 효율적인 검색 가능
단, 인덱스 생성에는 물리적 공간이 소모되므로 과용에는 쥐ㅢ할 것
문법
CREATE UNIQUE INDEX 인덱스이름
ON 테이블이름 (필드이름1, 필드이름2, ...)
CREATE INDEX 인덱스이름
ON 테이블이름 (필드이름1, 필드이름2, ...)
EXPLAIN SQL의 실행 계획을 확인할 수 있다.
출처: https://planetscale.com/blog/mysql-pagination
간단한 페이지네이션 공식
SELECT
*
FROM
people
ORDER BY
first_name, id
LIMIT
10 -- page_size
OFFSET
10 -- (page_number - 1) * page_size
아래와 동일하다.
SELECT
*
FROM
people
ORDER BY
first_name, id
LIMIT
10 -- (page_number - 1) * page_size,
10 -- page_size