PHP-请教php mysql 的联表输出问题
例如要循环输出一个用户列表,但同时也要关联该用户的个人信息,等等(都是分开其他表装的),请问各位高手,除了 join联表输出还会有其他性能更佳的方法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
例如要循环输出一个用户列表,但同时也要关联该用户的个人信息,等等(都是分开其他表装的),请问各位高手,除了 join联表输出还会有其他性能更佳的方法吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
多数情况下,都建议将MySQL的join拆为2个单独的查询,这样反而在数据多的情况下,性能更好。特别是多个用户信息表,大多是user id作为主键,用in的话,数据库处理起来还是很快的。
一般追求性能的话,普遍的思路就是空间换时间。
可以在Memcache里以uid_info的key-value方式储存用户列表+用户信息。
也可以使用Mongodb数据库,做成一个整体的Collection.
查询性能最重要的是路径要短,命中率要高,再根据业务需求来判断是否需要严格的数据一致性检查。
如果数据量不是很大的话,可以使用join也可以使用子查询,但是如果两个表的数据量都十分大的话,那么最好还是分开查,用PHP来处理关联,这样才更利于提高速度。