PHP MYSQL SQL语句优化

select*fromcdb_membersinnerjoincdb_memberfieldsoncdb_members.uid=cdb_memberfields.uid... select * from cdb_members inner join cdb_memberfields on cdb_members.uid=cdb_memberfields .uid inner join supe_userfields on cdb_members.uid=supe_userfields.uid inner join cdb_usergroups on cdb_members.groupid=cdb_usergroups.groupid inner join supe_userspaces on cdb_members.uid=supe_userspaces.uid inner join supe_userspacefields on cdb_members.uid=supe_userspacefields.uid order by cdb_members.uid desc limit 0,500

请问各位高手这个SQL语句还能不能进行更好的优化?

在执行的时候会很慢~~~
展开
 我来答
阳光上的桥
2008-11-03 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
你的语句是正确的,速度慢两种可能:

一、是索引不对,你所有的关联字段,应该在相应表中有唯一索引,最好是主键,例如:
cdb_members.uid
cdb_memberfields .uid
supe_userfields.uid
cdb_members.groupid
cdb_usergroups.groupid
supe_userspaces.uid
supe_userspacefields.uid
如果以上的表没有主键,请设置相应字段为主键,如果有其他的主键而且是必须的,那么在上面的字段建立唯一索引。

二、数据量过大,如果你cdb_members的记录很多,远远大于500条,可以考虑改变程序,先重此表里面获取500条数据,然后在循环里面每条数据库关联获取其它表的信息,这样就不需要先对五个表做链接。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式