PHP查询数据问题

controstr 2011-06-27 06:18:23
数据库用的是MYSQL5.5
我系统里有不少表需要关联,如微博的。
一条博文可能有好几个表关联起来,如用户表,等其它表。

问题:
服务器有memcache+apache+mysql5.5
展示博文时,因每条博文有如图片,音频,视频,等等不少关联,是用一条SQL关联出所有数据,还是先查出所有博文,再循环根据博文ID查询出其它关联数据,。

如要显示10条博文,那就要去查询10次数据库,(SQL简单,但查询数据库次数多)。
如果用一条关联查询,一条数据库即查查出,(SQL复杂。)

请问使用哪种最优
...全文
180 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
javashare 2011-07-04
学习学习
回复
controstr 2011-07-04
多谢各位
回复
xuzuning 2011-06-30
如果是泛泛的理论的讨论,那怎么弄都不为过

若已经落实到具体的表中了,那么建议使用视图
将每次都需要展示的字段加入到视图中就可以了

实际的查询是对视图进行的
回复
xuzuning 2011-06-30
如果是泛泛的理论的讨论,那怎么弄都不为过

若已经落实到具体的表中了,那么建议使用视图
将每次都需要展示的字段加入到视图中就可以了

实际的查询是对视图进行的
回复
学生哥哥 2011-06-30
最好一个表一个表的查询,尽量避免使用join查询和子查询。
回复
就得逼自己 2011-06-29
7楼的兄弟说的也很在理~大量数据做处理一定不能依赖数据库以及复杂的sql语句,可以尝试程序处理
回复
就得逼自己 2011-06-29
个人感觉查询速度很大一部分出现在SQL语句上,用join完全可以,但要注意where条件,例如一下子可以过滤掉很多信息的where条件要放在所有where条件的最前面,再一个就是如果作为你查询条件的某个数据库字段如果可以作为唯一约束,主键约束等一定要在数据库中建立约束,楼主不信可以做个实验~查询所用时间是数量级上的变化,很可观的!希望能对你有所帮助
回复
建议用程序来处理,数据库只是用来存储数据的,过于复杂的SQl不适合,数据量大的话,程序处理是最快的
回复
seai 2011-06-28
我的观点:如果你发现join your table存在性能问题了,你就该放弃join了。换言之,如果还没有存心瓶颈(短期内也不会出现瓶颈)那么你可以继续join。

nosql的观点在DB不是着重业务处理,而是数据持久存储。解放DB的业务负担将极大改善DB的性能。
回复
controstr 2011-06-28
怎么没有人回答了.
回复
controstr 2011-06-27
但是可能有3个以上表关联哟。
就算用join进行关联,速度能上来吗,如果一个表里数据量上百上午万,速度不是很慢。
回复
zhouhao4221 2011-06-27
用left join on 速度还可以
回复
bear63 2011-06-27
请使用 Cache ~
回复
相关推荐
发帖
Framework
创建于2008-08-27

4245

社区成员

国内外优秀PHP框架讨论学习
申请成为版主
帖子事件
创建了帖子
2011-06-27 06:18
社区公告
暂无公告