Answer

Category

Member

회원 정보 반환

query: SELECT `Member`.`id` AS `Member_id`, `Member`.`createdAt` AS `Member_createdAt`, `Member`.`email` AS `Member_email`, `Member`.`nickname` AS `Member_nickname`, `Member`.`profileImg` AS `Member_profileImg` FROM `Member` `Member` WHERE (`Member`.`id` = ?) LIMIT 1 -- PARAMETERS: [1]

필요없는 열 제거

면접용 이름 반환

query: SELECT `Member`.`id` AS `Member_id`, `Member`.`createdAt` AS `Member_createdAt`, `Member`.`email` AS `Member_email`, `Member`.`nickname` AS `Member_nickname`, `Member`.`profileImg` AS `Member_profileImg` FROM `Member` `Member` WHERE (`Member`.`id` = ?) LIMIT 1 -- PARAMETERS: [1]

필요없는 열 제거

Question

Token

Redis 사용하도록 변경?

Video

비디오 저장

query: SELECT `Member`.`id` AS `Member_id`, `Member`.`createdAt` AS `Member_createdAt`, `Member`.`email` AS `Member_email`, `Member`.`nickname` AS `Member_nickname`, `Member`.`profileImg` AS `Member_profileImg` FROM `Member` `Member` WHERE (`Member`.`id` = ?) LIMIT 1 -- PARAMETERS: [1]
query: START TRANSACTION
query: INSERT INTO `Video`(`id`, `createdAt`, `memberId`, `questionId`, `name`, `url`, `thumbnail`, `videoLength`, `isPublic`) VALUES (DEFAULT, ?, ?, ?, ?, ?, ?, ?, ?) -- PARAMETERS: ["2023-11-30T04:41:56.590Z",1,1,"test.webm","<https://u2e0.c18.e2-4.dev/videos/example.mp4","https://u2e0.c18.e2-4.dev/thumbnail/gomterview_default_thumbnail.png","03:29>",0]
	query: SELECT `Video`.`id` AS `Video_id`, `Video`.`createdAt` AS `Video_createdAt`, `Video`.`isPublic` AS `Video_isPublic` FROM `Video` `Video` WHERE `Video`.`id` = ? -- PARAMETERS: [6]
query: COMMIT

query: INSERT INTO `Video`(`id`, `createdAt`, `memberId`, `questionId`, `name`, `url`, `thumbnail`, `videoLength`, `isPublic`) VALUES (DEFAULT, ?, ?, ?, ?, ?, ?, ?, ?) -- PARAMETERS: ["2023-12-05T11:26:53.298Z",28,1,"루이뷔통통튀기네_test.webm","<https://u2e0.c18.e2-4.dev/videos/example.mp4","https://u2e0.c18.e2-4.dev/thumbnail/gomterview_default_thumbnail.png","03:29>",0]
query: SELECT `Video`.`id` AS `Video_id`, `Video`.`createdAt` AS `Video_createdAt`, `Video`.`isPublic` AS `Video_isPublic` FROM `Video` `Video` WHERE `Video`.`id` = ? -- PARAMETERS: [55]

insert로 변경해도 select문과 transaction으로 묶이지 않는 것만 제외하고 동일하게 insert와 select를 실행하기에 트랜잭션의 필요성에 따라 변경해야할듯?

또한 insert는 select에 비해 빈번히 일어나는 작업이 아니기에 일단 최적화의 필요성이 크게 느껴지지 않음

Pre-Signed URL 얻기

Redis 사용할 뿐 쿼리문을 사용하지는 않기에 때문에 최적화 할 것이 없음 ⇒ Redis도 최적화가 되나?

비디오 전체 조회