十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你的语句是正确的,速度慢两种可能:
成都创新互联网站建设公司,提供成都网站制作、成都做网站、外贸营销网站建设,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!
一、是索引不对,你所有的关联字段,应该在相应表中有唯一索引,最好是主键,例如:
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条数据,然后在循环里面每条数据库关联获取其它表的信息,这样就不需要先对五个表做链接。
从sql本身来看,基本上没有优化的余地了,如果数据量过大造成的缓慢,
可以考虑使用sql分页语句:
(即分页由sql完成,并不是由PHP完成)
你要告诉我用的是什么数据库: mysql? mssql? oracle?
如果不用sql分页语句去写,只能从数据库上工夫。
1. 将几个table 的 hotelId 字段, name字段 分别建立索引。
2. 建立分表,将大数据分之。
有很多种方法可以优化:
数据库设置主从,进行读写分离;
数据分表,如按月份分表,需要统计数据就查总表;
优化查询语句,适当增加索引;
字段优化,对不常用或者没有必要的字段可以考虑放在另外一张表里,避免单表数据过大,字段过多。