您的位置:首页 > 数据库 > MySQL

mysql从入门到精通

2017-03-17 19:24 232 查看

入门基础篇

深入篇

mysql数据库实现多表查询

在sql语言中,用join实现表与表的关联,用on指定联合表的查询条件,如:

#实现三表联查,可以用table1.*,table2.*来排列表格显示信息的先后顺序
SELECT * FROM (`user` LEFT JOIN address ON `user`.id=address.user_id)  LEFT JOIN user_info ON `user`.id=user_info.id;

#三表查询指定的数据,多表查询为了区别各表中个字段,使用表名.字段名区别
SELECT
`user`.id,`user`.user_name,`user`.`password`,
address.province,address.city,address.street,
address.street_number,user_info.age,user_info.gender,user_info.hobby,user_info.company
FROM
(`user` LEFT JOIN address ON `user`.id=address.user_id)
LEFT JOIN user_info ON `user`.id=`user_info`.id;


精通篇

sql优化

对于表的设计优化,在设置初期不仅要考虑到数据库的规范性,还有考虑到业务,以及性能的影响。比如从数据库规范的角度考虑可能需要分多个表,而在业务方面,庞大数据的联合查询相对于单表来说可能会慢很多,可能需要冗余几个字段。

对于sql的优化,特别是进行多表查询的时候,到底是采用INNER JOIN,还是LEFT JOIN,RIGHT JOIN亦或是OUTER JOIN,都需要通过性能测试得出结论。

在程序中调用的时候到底是采用懒加载还是非懒加载。

最后要用到数据的缓存了,或者在程序与数据库之间再加一层缓存,一般建议用好的数据库缓存
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql