表一
栏目名称          消息ID 其他字段
COLUMN_NAME MSG_ID  
名称1          1  
名称1          2  
…………          …………  
名称2          3  
名称2          4  
…………          …………  这个表主要由于查询在同一个栏目中有多少个消息ID用表二
消息ID 阅读总数    用户
MSG_ID MSG_COUNT    USER_NO
1 100    1
1 100    2
2 100    1
2 100    2
………… ………… …………
………… ………… …………这个表主要记录对于同一消息,每个不同的用户阅读的次数
这个表的数据量非常大。表三
消息ID 发送总数
MSG_ID MSG_PUSH
1 1000
1 1000
2 1000
2 1000
………… …………
………… …………这个表主要用于查询对于同一消息ID,发送给多少个用户现在,我需要查询,每一个栏目下的所有消息的阅读总数、发送总数的集合。
即:
SELECT 表一. COLUMN_NAME,SUM(表二. MSG_COUNT),SUM(表三. MSG_PUSH)
并且可以对查询出的三个字段进行排序查询操作。如果简单的连接和子查询,会产生笛卡儿积,不知该如何才能优化处理。