WHERE 해커랭크 문제풀이 2
405
작성한 질문수 3
안녕하세요. WHERE 해커랭크 문제풀이 2 강의에서
아래와 같이 코드를 작성했습니다.
답은 맞다고 나왔지만 속도 측면을 비롯하여 그렇게 좋은 코드는 아닌 것 같아서 아래와 같이 작성하는 것도 맞는 것인지 질문 드립니다.
감사합니다.
--------------------------
SELECT DISTINCT city
FROM station
WHERE city NOT IN (SELECT city FROM station
WHERE city LIKE 'A%'
OR city LIKE 'E%'
OR city LIKE 'I%'
OR city LIKE 'O%'
OR city LIKE 'U%'
OR city LIKE '%A'
OR city LIKE '%E'
OR city LIKE '%I'
OR city LIKE '%O'
OR city LIKE '%U');
답변 1
0
안녕하세요 진님,
벌써 쿼리의 속도까지 고려하고 계시다니 한발 앞서나가고 계시는군요!
문의주신 속도에 대한 내용은 쿼리 작성이라기보다는 성능 튜닝에 가까운 부분이라 엔지니어링에 가까운 영역이에요. 대용량 DB를 가공 할 때에는 공부가 필요한 내용이기는 하지만 개념도 용어도 쉽지 않은 영역이라 정확하게 답변이 어려운 점 양해 부탁드려요.
다만 쿼리 작성의 효율성을 위해서는 아래처럼 정규표현식이라는 기법을 사용해서 작성할 수도 있습니다. 해당 내용은 고급반 과정에서 다루는 내용이라 지금은 참고만 해보시면 좋을 것 같아요.
SELECT DISTINCT(CITY)
FROM STATION
WHERE CITY REGEXP '^[^aeiou]'
AND CITY REGEXP '[^aeiou]$';
정규표현식을 작성 해볼 수 있는 사이트
- https://regexr.com/
아래 레퍼런스들에는 MySQL 쿼리 실행계획 보는 법, profile로 실제 쿼리 실행 시간 보는 법 등이 정리되어있으니 혹시 속도 관련해서 더 알고싶으시면 참고해보세요.
- https://jellybean.tistory.com/entry/explain?category=950637
- https://philip1994.tistory.com/58
WHERE절에 LIKE문법을 IN으로 묶어서 사용
0
45
1
수강기간 변경 요청
0
93
2
Revising the Select Query 1 문제에서 질문입니다.
0
65
1
SQL제대로 공부하고 싶어서 수강했는데 SQLD시험에도 효과적일까요?
0
83
1
수강기한
0
95
2
해커랭크 문제풀이 처음부터 난이도 높아서 틀렸는데요.
0
75
2
OR 조건 간소화
0
47
1
Weather Observation Station 6 쿼리가 틀렸다고 나오는 이유를 모르겠어요
0
60
1
비교연산자 질문
0
45
1
HackerRank 진행 도와주세요
0
105
2
Weather Observation Station 12에서 Wrong Answer이 뜹니다.
0
71
2
섹션 3 . 10 . 질문있습니다
0
77
1
Weather Observation Station 12 질문
0
59
1
COLUMN에 대해 이해 안됨
0
112
2
수업 ppt 강의안 자료
0
183
2
SELECT * FROM city; 질문입니다
0
135
2
CEIL, FLOOR 함수 질문
1
359
2
w3schools 에러
1
206
2
Weather Observation Station 12 IN변환 및 관련 질문
0
144
1
해커랭크 Employee Salaries 문제 질문
0
126
1
해커랭크 문제풀이 1 에서
0
130
1
SELECT는 뭘 불러오는거고 FROM 은 뭘불러오는건가요
-1
193
1
해커랭크 문제풀이 중
0
102
1
Revising the Select Query 1 문제가 약간 바뀌었어요
0
158
2





