프론트엔드 관리자 페이지 작업을 하고있는데
현재 서비스 가입자가 1100명에 육박하고있다.
급격하게 늘어나는 숫자에 일에 치여서 교통사고로 사망하기 직전이긴하지만
관리자페이지가 열리는데 10초는 걸리니 문제해결을 안 할 수 가 있 나??
휴가나 떠나고싶다~~~~~~(정신나갔습니다)
네 정신차리고
현재 user테이블말고 따로 만든 view 구성입니다.
다른테이블에서 가져올 컬럼들을 전부 join해서 성능이 저하된걸로 확인하고 있습니다.
select `u`.`id` AS `id`,
`u`.`name` AS `name`,
`u`.`nickname` AS `nick_name`,
`u`.`status` AS `status`,
`u`.`mobile` AS `mobile`,
(select `code`.`code_value`
from `code`
where (`code`.`id` = `u`.`sex_id`)) AS `sex_code`,
`u`.`address` AS `address`,
`u`.`detail_address` AS `address_detail`,
`u`.`held_mileage` AS `held_mileage`,
`u`.`held_point` AS `held_point`,
`u`.`sex_id` AS `sex_id`,
`u`.`birthday` AS `birth_day`,
`doc`.`url` AS `impaired_url`,
`u`.`create_datetime` AS `create_datetime`,
`u`.`modify_datetime` AS `modify_datetime`,
`u`.`deleted_datetime` AS `deleted_datetime`,
`token`.`requester_device` AS `requester_device`,
`token`.`created_at` AS `created_at`
from (((`user` `u` join `user_connector` `uc` on ((`u`.`id` = `uc`.`user_id`))) left join `pingong`.`user_docs` `doc` on ((`u`.`id` = `doc`.`user_id`)))
left join (select `user_access_token`.`id` AS `id`,
`user_access_token`.`user_id` AS `user_id`,
`user_access_token`.`requester_device` AS `requester_device`,
`user_access_token`.`created_at` AS `created_at`
from `user_access_token`
where `user_access_token`.`id` in
(select max(`user_access_token`.`id`)
from `user_access_token`
group by `user_access_token`.`user_id`)) `token`
on ((`u`.`id` = `token`.`user_id`)))
group by `u`.`id`;
그래서 view에서 조회하지않고 service단에서 각각 테이블에서 조회하는 방식으로 작업 진행예정입니다.
그런데 궁금한건 그렇게 바꿨을때 몇명의 데이터까지 커버가 가능하냐는건또 궁금하네요