MYSQL 多数据 联合查询 ORDER BY ,COUNT() 速度慢,求改SQL 15
SELECT`item_alg`.`item_id`,`item_alg`.`alg`FROM`ck_keyword`.`keyword8`,`ck_keyword`.`...
SELECT `item_alg`.`item_id`,`item_alg`.`alg` FROM `ck_keyword`.`keyword8`,`ck_keyword`.`keyword4`,`ck_keyword`.`keywordb`, `ck_keyword`.`item_alg` WHERE `keyword8`.`keyword` ='women' AND `keyword4`.`keyword` ='fashion' AND `keywordb`.`keyword` ='shoes' AND `keyword8`.`item_id` = `item_alg`.`item_id` AND`keyword4`.`item_id` = `item_alg`.`item_id` AND`keywordb`.`item_id` = `item_alg`.`item_id` ANDORDER BY `item_alg`.`alg` desc LIMIT 0,12
上面这个SQL是查询
但是ORDER BY 很慢求解决办法
还有一个 就是:
SELECT count(1) FROM `ck_keyword`.`keyword8`,`ck_keyword`.`keyword4`,`ck_keyword`.`keywordb`, `ck_keyword`.`item_alg` WHERE `keyword8`.`keyword` ='women' AND `keyword4`.`keyword` ='fashion' AND `keywordb`.`keyword` ='shoes' AND `keyword8`.`item_id` = `item_alg`.`item_id` AND`keyword4`.`item_id` = `item_alg`.`item_id` AND`keywordb`.`item_id` = `item_alg`.`item_id` ;
这个COUNT也很慢
索引:
item_alg 的 item_id alg 有索引
keyword表里的item_id keyword 都有索引
本人比较菜,求解决办法!
谁能帮忙写个SQL 后面加分。
求帮忙解决。
百度这个我没分, 大家帮帮忙了。
另外 那个alg 没有进索引
主要是order by 的问题 展开
上面这个SQL是查询
但是ORDER BY 很慢求解决办法
还有一个 就是:
SELECT count(1) FROM `ck_keyword`.`keyword8`,`ck_keyword`.`keyword4`,`ck_keyword`.`keywordb`, `ck_keyword`.`item_alg` WHERE `keyword8`.`keyword` ='women' AND `keyword4`.`keyword` ='fashion' AND `keywordb`.`keyword` ='shoes' AND `keyword8`.`item_id` = `item_alg`.`item_id` AND`keyword4`.`item_id` = `item_alg`.`item_id` AND`keywordb`.`item_id` = `item_alg`.`item_id` ;
这个COUNT也很慢
索引:
item_alg 的 item_id alg 有索引
keyword表里的item_id keyword 都有索引
本人比较菜,求解决办法!
谁能帮忙写个SQL 后面加分。
求帮忙解决。
百度这个我没分, 大家帮帮忙了。
另外 那个alg 没有进索引
主要是order by 的问题 展开
1个回答
2015-01-04
展开全部
select l.f_id,l.f_lecturer_name,l.f_user_id,l.f_user_name,l.f_skill,l.f_train_number,l.f_course_number,l.f_train_student_number,sum(case when cl.f_credit is null then 0 when cl.f_credit is not null then cl.f_credit end) as credit,l.f_fraction from t_lecturer l left join t_credit_log cl on cl.f_type=2 and cl.f_user_id=l.f_user_id group by l.f_user_id order by l.f_fraction desc LIMIT 0,20
能帮我看看嘛?在oracle中报错了 979: ORA-00979: 不是 GROUP BY 表达式
追问
哥 你这什么?
追答
看看这个错误啥,帮我看看
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询