文章目录
建立数据库注意事项
字符集用utf8mb4

- 最初的 UTF-8 格式使用一至六个字节,最大能编码 31 位字符。最新的 UTF-8 规范只使用一到四个字节。
- 字符集
utf8:是 Mysql 中的一种字符集,只支持最长3个字节的 UTF-8字符。 - 字符集
utf8mb4: 支持最长4个字节的 UTF-8字符。为了获取更好的兼容性,应该总是使用utf8mb4而非utf8。 utf8mb4中的mb4即most bytes 4,utf8是utfmb3的简称。- 表情符号(Emoji 表情)就是
4字符的UTF-8字符。
存储引擎尽量用InnoDB

重要特性:
- 事务安全(MyISAM不支持事务,InnoDB支持事务)
- 外键 MyISAM 不支持外键, InnoDB支持外键.
- 锁机制(MyISAM时表锁,InnoDB是行锁)
- 查询和添加速度(MyISAM批量插入速度快)
- 支持全文索引(MyISAM支持全文索引,InnoDB不支持全文索引)
- MyISAM内存空间使用率比InnoDB低
建议:
- 尽量使用InnoDB存储引擎

科学的添加表的索引
- 索引优化应该是对查询性能优化最有效的手段。
- mysql只能高效地使用索引的最左前缀列。
- mysql中索引是在存储引擎层而不是服务器层实现的
1. mysql索引种类:
①单列索引:一个索引只包含单个列,一个表可以有多个单列索引
②组合索引:一个索引包含多个列
2.索引的创建需要确保索引是引用在sql查询语句上
3.增加索引的优点:
①可以大大提高查询效率
②可以提高Mysql的检索速度
4.增加索引的缺点:
①增加索引会降低更新表的速度,如执行insert,update,不仅要保存数据,还要保存索引文件
②索引会占用磁盘空间的索引文件
5.添加索引,如图:

数据库维护
数据库工具NavicatPremium
百度网盘:NavicatPremium ,提取码:i1jg,是英文版,含注册机
这个是很常用的数据库管理工具,支持Mysql,MsSql,Sqlite等数据库,界面截图如下。

开启慢日志
当线上的数据库进行占CPU较高时,怎么样找出哪条数据库SQL执行慢呢,通常采用的方法是开启慢日志。
show variables like 'slow_query%';
show variables like 'long_query_time';
set global slow_query_log=ON;
set global long_query_time=2;
show status like "%slow_queries%";
查看连接数和正在执行的SQL
查看information_schema表中的PROCESSLIST表,如图:

分析SQL慢的方法
数据库语名前添加EXPLAIN,反馈使用的索引以及数据库内部的实现方案,如图:

本文详细介绍了数据库优化的关键要点,包括选择utf8mb4字符集以增强兼容性,优选InnoDB存储引擎确保事务安全与外键支持,科学添加索引提升查询效率,使用NavicatPremium进行数据库管理,以及通过慢日志定位并分析SQL执行瓶颈。
310

被折叠的 条评论
为什么被折叠?



