MySQL常见面试题

编程知识 行业动态 更新时间:2024-06-13 00:22:23

一、mysql数据库cpu飙升到500%的话他怎么处理

1. 多实例的服务器,先top查看是那一个进程,哪个端口占用CPU多;

2. show processeslist查看是否由于大量并发,锁引起的负载问题;

3. 否则,查看慢查询,找出执行时间长的sql;explain分析sql是否走索引,sql优化;

4. 再查看是否缓存失效引起,需要查看buffer命中率;

 

二、 执行数据库查询时候,如果查询的数据有很多,假设有1000万条,用什么方法可以提高查询效率?在数据库方面或java代码方面有什么优化办法?

1.在数据库设计方面

(1)建立索引

(2)分区(比如说按时间分区)

(3)选取最适用的字段属性(尽量减少字段宽度和使用固定长度的字段)

2.在数据库I/O方面

(1)增加缓冲区

(2)如果涉及到表的级联,最好不同的表放在不同的磁盘,以增加I/O速度

3.Sql语句方法

(1)优化sql语句,减少比较次数,可用连表查询来代替子查询

(2)限制返回的条目数(mysql用limit)

(3)有外键约束会影响插入和删除性能,如果程序能够保证数据的完整性,那在设计数据库时就

去掉外键(比喻:就好比免检产品,就是为了提高效率,充分相信产品的制造商)

4.在java方面

如果反复使用的查询,可通过preparedstatement,因为他在运行前已经预编译,只要运行就Ok了.

 

 

更多推荐

MySQL常见面试题

本文发布于:2023-04-02 09:13:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/2423dad07de24aa725979d3b4348dd8d.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:面试题   常见   MySQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!