mysql 性能优化
工作中,如果数据库存储数据量过大、信息过多时,往往数据库的执行速度会降低,也就是查询或者删除的操作缓慢(或者迟迟不响应,甚至系统崩溃掉~~),这时,你或许会去调整内存、缓存大小来优化数据库性能。
MySQL是一个多用户线程的DBMS,常会同时执行多个任务,如果这些任务中的某一个执行缓慢,则所有请求都会执行缓慢,如果你遇到显著的性能不良,可使用 SHOW PROCESSLIST命令显示所有活动进程。你可以找到占用资源比较多的进程以kill命令结束这个进程
**Tips: **kill这个命令只有管理员才可以使用
这里介绍一下MySQL查询性能优化的几种方法:
-
使用explain语句
explain可以说明select语句是如何执行的,可以看出mysql是如何使用索引来处理select语句以及连接表,从而写出更好的sql语句。如下所示:
-
查询时开启缓存
-
数据表设计字段类型合理
-
根据需求来使用select语句
SELECT * FROM book ⬇ ⬇ SELECT name FROM book
上面两条SQL语句是查看book表中都有什么书,第二条语句查询信息范围小、精确,显然效率会更快些。而第一条带*的通配符查询是查询表中所有字段内容,将查询出表中所有信息,因而查询速度要低于第二条语句(这里只是举例说明,主要是针对表数据比较多的情况下,比如几百万上千万条数据而言)
-
给需要查询的字段添加索引,可以有多个索引
-
设计表时养成设置ID的习惯(最好是自增加和int类型)
日常总结记录一下,后续待补充完善,也非常欢迎大佬们批评建议~~
最后格言: 三人行必有我师焉