썩어버린 Query Language

created : Tue, 07 Apr 2020 20:18:38 +0900
modified : Tue, 15 Mar 2022 02:27:10 +0900
계개모 계룡전산한마당 sql

# 1. SQL (Structured Query Language)?

데이터베이스의 역사

Query Optimizer

https://www.researchgate.net/profile/Martin_Boissier/publication/332803446/figure/fig2/AS:754092716593152@1556801122020/The-different-steps-of-the-SQL-Pipeline-leading-from-an-SQL-string-to-executable.png

2. 썩어버린 query language

썩었다?

우리도 한번 고이는 것 정도는 해보자

3. Index

Index란?

https://www.lucidchart.com/publicSegments/view/08895b1f-2111-4790-a99e-e5d9b101f7a3/image.png

이런 쿼리는 가급적 쓰지 말자

쿼리 최적화의 좋은 예시

sql.png

Pagination 이야기 (Row lookup)

sql-index.png

SELECT id, xValue, yValue, zValue, createdAt
FROM Position
LIMIT 2000000, 1000
SELECT id, xValue, yValue, zValue, createdAt
FROM (
    SELECT id
    FROM Position
    LIMIT 2000000, 1000
) q
JOIN Position p
ON p.id = q.id

4. SQL이 항상 DB에서 무언가를 조회할 최선은 아니다. (NoSQL - Not only SQL)

sql_wiki.png

5. 잡설

막간을 이용한 책팔이

오늘 발표 내용의 대부분은 아래 책의 12개의 챕터 중 1/2 챕터 분량밖에 안된다. 강추

데이터 중심 애플리케이션 설계

References

NAVER D2

[DB개념] :: Index Structures (인덱스 구조)

파티셔닝(Partitioning)

Pagination을 위한 최적화 SQL (LIMIT vs JOIN)

NoSQL