wintertreey 님의 블로그
[MySQL] SELECT 본문
https://opentutorials.org/course/3161/19540
SELECT COL1, COL2.. FROM TABLENAME;
FROM 이 없는 경우
- SELECT 1; → 결과는 1
- SELECT 'HELLO'; → 결과는 HELLO
- SELECT NOW(); → 현재 시간
- SELECT 2+3; → 5
즉, FROM 절이 없으면 DB는 테이블 조회가 아니라 표현식 계산을 하고, 그 결과를 출력
LIMIT 3;
맨 뒤에 이렇게 붙이면 나오는 데이터 들 중 3개만 출력.
ORDER BY 시 유의사항
PK, CREATED 모두 데이터가 생성되면서 계속 값이 증가하므로 둘 중 아무거나 해도 해당 데이터를 특정짓기 쉽다.
그러나 PK의 경우 인덱스 테이블이 생성된다.
따라서 PK로 조건을 주어 데이터를 검색했다면, PK만 있는 상대적으로 가벼운 인덱스에서 데이터의 PK 값을 찾은뒤, 해당 PK의 추가되는 필요한 데이터들을 본 테이블에서 가지고 온다.
그러나 만약 CREATED로 검색하면 본 테이블에서 찾게 되기에 시간이 오래걸리게 된다.
이러한 이유로 WHERE 조건을 줄 때에 되도록이면 인덱스에 있는 칼럼들 위주로 하는것이 좋다.
(그렇다고 꼭 많은 칼럼을 인덱스로 만들어 두는게 좋은 건 아니다. 필요한 칼럼위주로만 만들자)
'SQL과 DB' 카테고리의 다른 글
[MyBatis]1:N 객체 매핑 : <resultMap> <collection>, flatMap이란 (0) | 2025.09.04 |
---|---|
[MySQL] UPDATE (0) | 2025.08.29 |
[MySQL] INSERT (0) | 2025.08.26 |
[MySQL] 테이블 구조, 생성 (0) | 2025.08.22 |
[MySQL] 구조. 데이터베이스와 스키마. (0) | 2025.08.22 |