
mysql
忘不掉就记着吧
热爱生活,热爱学习!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mysql性能优化系列(六) --- mysql中常见的SQL优化策略
常见的SQL优化策略 1、避免全表扫描 对查询进行优化,应尽量避免全表扫描。首先考虑在where以及order by 上添加索引。 2、避免判断null值 避免在where子句中判断null值,否则会导致引擎放弃使用索引而进行全表扫描。 3、避免不等值判断 应尽量避免在where子句中使用 !=或者<>操作符,否则会导致引擎放弃使用索引而进行全表扫描。 4、避免使用or 应当尽量避免在...原创 2020-01-09 18:28:03 · 7983 阅读 · 0 评论 -
mysql性能优化系列(五) --- mysql数据库设计规范、设计原则
一、 MYSQL数据库设计规范 1、 数据库命名规范 * 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成; * 命名简洁明确(长度不能超过30个字符); * 例如:user, stat, log, 也可以wifi_user, wifi_stat, wifi_log给数据库加个前缀; 除非是备份数据库可以加0-9的自然数:user_db_20151210; 2...原创 2020-01-09 15:13:01 · 7647 阅读 · 0 评论 -
mysql性能优化系列(四) ---如何选择合适的列建立索引以及使用索引的注意事项
一、如何选择合适的列建立索引 1、在where从句,group by从句,order by从句,on从句中的列添加索引 2、索引字段越小越好(因为数据库数据存储单位是以“页”为单位的,数据存储的越多,IO也会越大) 3、离散度大的列放到联合索引的前面(离散度:字段中不同的记录的数量,数量越多,则表明离散程度越大) 什么是联合索引 1、 两个或更多个列上的索引被称作联合索引,又被称为是复合索引。 2...原创 2020-01-08 15:39:18 · 8004 阅读 · 0 评论 -
mysql性能优化系列(三) ---sql及索引优化案例
1、函数Max()的优化 SQL:EXPLAIN select max(payment_date) from payment; 优化之前:查询大概需要4ms。 执行计划是这样的。 type为all。是最差的。 给字段payment_date 加上索引。查询几乎不耗时。 执行计划: 红字圈起来的意思是已经不能再进一步优化了。type也为null了。 2、函数Count()的优化 需求:在一条...原创 2020-01-08 15:27:02 · 7732 阅读 · 0 评论 -
mysql性能优化系列(二) ---认识一下mysql的索引
B-Tree 索引 B-Tree索引是用B-Tree数据结构来存储数据的。大多数mysql引擎都支持这种索引,也是用的比较多的一种它每一个叶子节点都包含指向下一个叶子节点的指针,从而方便叶子节点的范围遍历。 为什么B-Tree索引能加快访问的速度? 因为存储引擎不再需要进行全表扫描来获取需要的数据,取而代之的是从索引的根节点开始进行搜索。根节点的槽中存放指向子节点的指针,存储引擎根据这些指针向下层...原创 2020-01-07 19:10:31 · 7693 阅读 · 0 评论 -
mysql性能优化系列(一) ---发现有问题的sql(慢日志和explain分析)
一、为什么要进行数据库优化 1、避免网站页面出现访问错误 由于数据库连接timeout产生页面5xx错误 由于慢查询造成页面无法加载 2、增加数据库的稳定性 很多数据库稳定问题都是由于低效的查询引起的 3、优化用户体验 流畅的网站访问速度,良好的用户体验 二、mysql数据库优化的几个方面 如图: A、SQL及索引优化 根据需求写出良好的SQL,并创建有效的索引,实现某一种需求可以多种写法,...原创 2020-01-07 15:07:11 · 8123 阅读 · 0 评论