
数据库优化
小飞侠v科比
专注IT全栈技术
展开
-
MYSQL-性能优化篇1 子查询优化 索引优化
1、为什么要进行数据库优化?1、避免网站页面出现访问错误由于数据库连接timeout产生页面5xx错误由于慢查询造成页面无法加载由于阻塞造成数据无法提交2、增加数据库的稳定性很多数据库问题都是由于低效的查询引起的3、优化用户体验流畅页面的访问速度良好的网站功能体验2、mysql数据库优化可以从哪几个方面进行数据库的优化?如下图所示:A、SQL及索引优化根据需求写出良好的S...原创 2019-06-22 15:33:32 · 1168 阅读 · 0 评论 -
MySQL数据库优化
存储过程什么是存储过程简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法;ps:存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功能比触发器更加强大,触发器是某件事触发后自动调用;存储过程有哪些特性有输入输出参数,可以声明变量,有if/else, case,while等控制语句,通过编写存储过程,可以实现复杂的逻辑...原创 2019-06-29 23:46:14 · 138 阅读 · 0 评论 -
MySQL优化之索引实现原理
索引什么是索引索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快...原创 2019-06-29 23:50:39 · 322 阅读 · 0 评论 -
MySQL优化之SQL语句调优
SQL优化技巧①使用group by 分组查询是,默认分组后,还会排序,可能会降低速度,在group by 后面增加 order by null 就可以防止排序.explain select * from emp group by deptno order by null;②有些情况下,可以使用连接来替代子查询。因为使用join,MySQL不需要在内存中创建临时表。select * f...原创 2019-06-30 09:49:22 · 582 阅读 · 0 评论 -
MySQL优化之分表分库
分表分库垂直拆分垂直拆分就是要把表按模块划分到不同数据库表中(当然原则还是不破坏第三范式),这种拆分在大型网站的演变过程中是很常见的。当一个网站还在很小的时候,只有小量的人来开发和维护,各模块和表都在一起,当网站不断丰富和壮大的时候,也会变成多个子系统来支撑,这时就有按模块和功能把表划分出来的需求。其实,相对于垂直切分更进一步的是服务化改造,说得简单就是要把原来强耦合的系统拆分成多个弱耦合的服...原创 2019-06-30 09:51:26 · 179 阅读 · 0 评论 -
Myql主从复制与读写分离
主从复制概念影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中。假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的3306端口,通过网络发给MYSQL-B。MYSQL-B收到后,写入本地日志系统B,然后一条条的将数据库事件在数据库中完成。那么,MYSQL-A的变化,MYSQL-B也会变化,这样就是所谓的MYSQL的复制,即MYSQL repli...原创 2019-06-30 09:54:37 · 166 阅读 · 0 评论