您的位置:首页 > 汽车 > 时评 > web前端开发工程师简历_中国最新消息新冠肺炎_广州网站推广_球队排名榜实时排名

web前端开发工程师简历_中国最新消息新冠肺炎_广州网站推广_球队排名榜实时排名

2024/12/31 4:28:56 来源:https://blog.csdn.net/qq_44810930/article/details/144766899  浏览:    关键词:web前端开发工程师简历_中国最新消息新冠肺炎_广州网站推广_球队排名榜实时排名
web前端开发工程师简历_中国最新消息新冠肺炎_广州网站推广_球队排名榜实时排名

1. 表的设计优化

  • 参考依据:参考阿里开发手册嵩山版,其中有很多关于MySQL表设计的内容。
  • 类型选择:根据存储内容选择合适类型,如数值存储可选tinyint、bigint等,字符串可选varchar或text,根据内容长短选择合适类型可节省存储成本并提升查询效率。

2. SQL语句优化

  • select语句:务必指名字段名称,避免使用select *,指明字段可能使用覆盖索引,性能更高,使用select *可能造成回表查询。
  • 避免索引失效写法:之前讲过五种索引失效情况,编写SQL语句时应尽量避免。
  • union和union all:尽量使用union all代替union,union会多一次过滤操作,效率较低。例如union会合并结果并展示重复数据,union all则不会去重。
  • 避免where子句表达式操作:避免在where子句中对字段进行表达式操作,否则可能导致索引失效。
  • 连接优化:能用inner join就不要使用left join或right join;如果必须使用左连接和右连接,尽量以小表为驱动(写前面)。内连接会自动优化表顺序,优先把小表放外边,大表放里边,但left join和right join不会调整顺序,所以使用时要注意以小表为驱动,可通过循环类比理解,小循环放外层(类似小表)性能更好。

3. 主从复制和读写分离

在这里插入图片描述

  • 适用场景:数据库读操作较多时,为避免写操作影响读操作,可使用读写分离架构。
  • 架构原理:应用连接数据库中间件,包含主库master(负责写数据)和从库slave(负责读数据)。

写操作找主库,主库同步数据给从库;
读操作走从库,实现读写隔离,提高查询效率。

4. 分库分表

  • 使用时机:一般在数据量特别大时,如一张表数据超过500万,可考虑分库分表,后续会详细讲解相关内容。

面试回答要点

  • 提及从五个方面阐述SQL优化经验,分别是表的设计优化(参考阿里开发手册,如数据类型选择)、索引优化(参考创建索引原则和索引失效注意事项)、SQL语句优化(避免索引失效、不用select *、说明union和union all区别、小表驱动大表等)、主从复制和读写分离架构(避免写影响读,生产环境搭建主从库分开读写)、分库分表。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com