设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
麻烦大神帮看看 这种SQL语句怎么优化啊? ...
返回列表
查看:
1402
|
回复:
5
麻烦大神帮看看 这种SQL语句怎么优化啊?
[复制链接]
hulinying
hulinying
当前离线
积分
160
IP卡
狗仔卡
发表于 2014-2-12 17:24:59
|
显示全部楼层
|
阅读模式
本帖最后由 hulinying 于 2014-2-12 17:27 编辑
SELECT * ,
(SELECT COUNT(*) FROM t_articles WHERE e_id = e.e_id ) as articles_count,
(SELECT COUNT(*) FROM t_abs WHERE e_id = e.e_id ) as abs_count
FROM `t_eas` as e WHERE is_del = 0
这种语句 如何优化啊
执行效率太差了
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
fengshuang_110
fengshuang_110
当前离线
积分
604
IP卡
狗仔卡
发表于 2014-2-12 20:21:13
|
显示全部楼层
写错了,更正下
分而治之
SELECT COUNT(*) FROM t_articles join t_eas as e on e_id = e.e_id;查询这个表的记录数
SELECT COUNT(*) FROM t_abs join t_eas as e on e_id = e.e_id;再查询这个表的记录数
SELECT *,第一个记录数,第二个记录数 FROM `t_eas` as e WHERE is_del = 0;
回复
支持
反对
使用道具
举报
显身卡
fengshuang_110
fengshuang_110
当前离线
积分
604
IP卡
狗仔卡
发表于 2014-2-12 20:21:45
|
显示全部楼层
不要追求一个语句就解决所有的问题,分而治之
回复
支持
反对
使用道具
举报
显身卡
hulinying
hulinying
当前离线
积分
160
IP卡
狗仔卡
楼主
|
发表于 2014-2-13 16:51:26
|
显示全部楼层
哥, SELECT *,第一个记录数,第二个记录数 FROM `t_eas` as e WHERE is_del = 0;
这样查出来 第一个记录数和第二个记录数那不全都一样了吗?
我之所以那么查 是因为不同eas 对应的articles 和 abs count不一样啊
回复
支持
反对
使用道具
举报
显身卡
hulinying
hulinying
当前离线
积分
160
IP卡
狗仔卡
楼主
|
发表于 2014-2-13 16:52:12
|
显示全部楼层
fengshuang_110 发表于 2014-2-12 20:21
写错了,更正下
分而治之
哥, SELECT *,第一个记录数,第二个记录数 FROM `t_eas` as e WHERE is_del = 0;
这样查出来 第一个记录数和第二个记录数那不全都一样了吗?
我之所以那么查 是因为不同eas 对应的articles 和 abs count不一样啊
回复
支持
反对
使用道具
举报
显身卡
aqxinzhuan
aqxinzhuan
当前离线
积分
342
IP卡
狗仔卡
发表于 2014-2-14 17:11:17
|
显示全部楼层
分而治之,同意三楼的
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页