一共三张表tips,tippings,comments。tippings 是中间表。tips 和 comments 是多对多的关系。tips只有两列:id,name
tippings 的create语句:
[code="sql"]
CREATE TABLE tippings
(id
INT(11) NOT NULL AUTO_INCREMENT,tip_id
INT(11) NULL DEFAULT NULL,tippable_id
INT(11) NULL DEFAULT NULL,tipper_id
INT(11) NULL DEFAULT NULL,tipper_type
VARCHAR(255) NULL DEFAULT NULL,tippable_type
ENUM('Post','Comment') NULL DEFAULT NULL,context
ENUM('tips') NULL DEFAULT NULL,created_at
DATETIME NULL DEFAULT NULL,
PRIMARY KEY (id
),
INDEX index_tippings_on_tip_id
(tip_id
),
INDEX index_tippings_on_tippable_id_and_tippable_type_and_context
(tippable_id
, tippable_type
, context
),
INDEX index_cttt
(context
, tippable_type
, tippable_id
, tip_id
)
)
[/code]
查询语句为
[code="sql"]
SELECT tips.*, COUNT(*) AS count FROM tips
LEFT OUTER JOIN tippings
ON tips.id = tippings.tip_id INNER JOIN
comments ON comments.id = tippings.tippable_id WHERE (tippings.tippable_type
= 'Comment') GROUP BY tips.id, tips.name HAVING COUNT(*) > 0 ORDER BY
count desc LIMIT 75;
[/code]
tippings 目前800多万条记录。
查询速度太慢
各位帮忙看看能不能更好的优化下
mysql 3个表关联时查询时的优化
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
悬赏问题
- ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
- ¥15 lammps拉伸应力应变曲线分析
- ¥15 C++ 头文件/宏冲突问题解决
- ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
- ¥50 安卓adb backup备份子用户应用数据失败
- ¥20 有人能用聚类分析帮我分析一下文本内容嘛
- ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
- ¥30 python代码,帮调试,帮帮忙吧
- ¥15 #MATLAB仿真#车辆换道路径规划
- ¥15 java 操作 elasticsearch 8.1 实现 索引的重建