테이블 반환하지 (() 별개의) 수를 선택 : 이들 각각의 첫 번째 열은 기본 키, 자동 증가8 표에 가입하고 제대로
질문입니다
User
UserId
UserRelation
UserRelationId | ManagerUserId (fk to User.UserId) | UserId
UserBusinessRelation
UserBusinessSaleId | BusinessId | UserId
Business
BusinessId
CampaignGroup
CampaignGroupId | BusinessId
Campaign
CampaignId | CampaignGroupId
Adgroup
AdgroupId | CampaignId
AdgroupKeyword
AdgroupKeywordId | AdgroupId
Click
ClickId | AdgroupKeywordId | Time (Unix Time, Double, Unsigned)
ClickAction
ClickActionId | ClickId | Time (unix time Double, Unsigned)
: 어떻게 가는가를 가능한 한 가장 효율적인 방법으로 이들을 합치는 것에 대해, 비즈니스 당 수백만 개의 클릭과 수천 개의 비즈니스가 쉽게 될 수 있다는 것을 완전히 알고 있다는 것을 완전히 알고 있습니까? 나는 절대적으로 더 많은 클릭이 clickActions (아마 10 배 더보다가 있기 때문에 정확하지 알고 Array ([0] => stdClass Object ([count(distinct(ca.ClickActionId))] => 38290 [count(distinct(cl.ClickId))] => 38290))
... :
select count(distinct(ca.ClickActionId)), count(distinct(cl.ClickId)) from ClickAction ca inner join Click cl on cl.ClickId=ca.ClickId inner join AdgroupKeyword ak on ak.AdgroupKeywordId=cl.AdgroupKeywordId inner join Adgroup a on a.AdgroupId=ak.AdgroupId inner join Campaign c on c.CampaignId=a.CampaignId inner join CampaignGroup cg on cg.CampaignGroupId=c.CampaignGroupId inner join Business b on b.BusinessId=cg.BusinessId inner join UserBusinessSale ubs on ubs.BusinessId=b.BusinessId inner join UserRelation ur on ur.UserId=ubs.UserId where ur.ManagerUserId=3
이 가진 문제는 내가 돌아올 것입니다 : 여기
내 쿼리
짐작 하긴하지만, clickaction에 외부 조인이 필요하다고 가정하면 내부 조인은 클릭 동작이없는 모든 클릭을 잘라냅니다. 이 효율성을 높이는 데있어서, 당신이 비정형 화하지 않는 한, 이것은 얻는 것만 큼 좋을 것입니다. –