欢迎光临散文网 会员登陆 & 注册

(全网讲的最好)面试被问到mysql调优如何回答

2023-02-17 17:05 作者:赛文12138  | 我要投稿

面试大纲

深度:JVM、MySal 调优、并发编程、Spring 源码、

Redis、MQ 技术核心竞争力

广度:微服务

基础:设计模式、网络、数据结构与算法

Mysql优化:

sql优化一般分为四个层面:

1.业务层面的优化 2.代码层面的优化 3.sql层面的优化 4.硬件层面的优化(硬件是运维负责)

业务层面的优化

表里十多亿的数据,分库分表、集群,索引已经优化到最好了

需求:用户vip 1级可以看xx的数据,5级可以看ss的数据,查数据,这条sql首先已经用到分页,分页下面用到count,在此基础上如何优化

背景:可以直接用es,但是es有很多程序员不会(现在的情况是,业务已经外包开发完了,做接口压测时,发现有一条sql查询几十秒)

在这种情况下如何优化?

查询时默认设置查询条件,比如可以和产品经理他们沟通,5级的用户默认就带有某些条件


代码层面的优化

把count的数量单独放在一张表上维护,如果这样表的数据达到10几亿了,count函数也是相当慢,所有可以建立一张表维护总数量,这张表主要存储数据库名称,主键,count数,每次添加1条数据就异步的把这张表的count数+1

sql层面的优化

可以创建联合索引,减少回表,让所有数据直接在这一个索引树下查询出来



(全网讲的最好)面试被问到mysql调优如何回答的评论 (共 条)

分享到微博请遵守国家法律