프롬프트 AI&OpenAPI&공공데이터를 활용한 웹앱개발자 양성 과정 24일차

서명원·2024년 1월 11일

1. UUID

MySQL의 UUID() 함수는 Universally Unique Identifier(범용 고유 식별자)를 생성하는데 사용된다.
UUID는 각각의 값이 유일하다고 보장되는 128비트의 식별자로, 일반적으로 32개의 16진수 문자로 표현된다.

2. SHA2

종류 (SHA-224, SHA-256, SHA-384, and SHA-512)
자주 사용되는건 SHA-256과 SHA-512

사용법 SELECT SHA2('abc', 224);
첫번째 인수는 해시화할 문자열
두 번째 인수는 결과의 원하는 비트 길이. 값은 224, 256, 384, 512 또는 0(256과 동일).
패스워드 안호화에 사용

3. 테스트 데이터 팁

isert into `member` (regDate, loginId, loginPw, name)
select (now(), uuid(), 'pw', '아무개')
from `member`;

자신의 테이블을 참조하여, 임의의 고정값을 참조하게 하면, 자신의 테이블 레코드 숫자 만큼 계속하여 테스트 데이터를 생성할 수 있다.

4. MYSQL 성능 개선

SQL_NO_CACHE
성능 측정시 캐시참조로 인해 매 측정마다 시간이 단축될 수 있다.
SQL_NO_CACHE옵션으로 측정 시간을 단축할 수 있다.

SELECT SQL_NO_CACHE 칼럼명 FROM 테이블명;

인덱스 구조


이진검색을 사용하면 효율적인 검색 가능
단, 인덱스 생성에는 물리적 공간이 소모되므로 과용에는 쥐ㅢ할 것

문법
CREATE UNIQUE INDEX 인덱스이름

ON 테이블이름 (필드이름1, 필드이름2, ...)

CREATE INDEX 인덱스이름

ON 테이블이름 (필드이름1, 필드이름2, ...)

EXPLAIN SQL의 실행 계획을 확인할 수 있다.

5. 페이지네이션

출처: 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
  
profile
백엔드 취업을 꿈꾸는 일본어 전공자

0개의 댓글