MySQL

MySQL日志专项之redo log和undo log介绍

Redo Log REDO LOG称为重做日志 ,当MySQL服务器意外崩溃或者宕机后,保证已经提交的事务持久化到磁盘中(持久性)。 InnoDB是以页为单位去操作记录的,增删改查都会加载整个页到buffer pool中(磁盘->内存),事务中的修改...

MySQL由浅入深探究存储过程

什么是存储过程 存储过程(Stored Procedure)也成为存储程序,是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。即预先编辑好SQL语句的集合,这个集合完成了某项具体的功能集合,需要这个功能的时候,只要调用这个过程就好。在业务开发...

Mysql数据库表中为什么有索引却没有提高查询速度

背景 时间过得太快了,春节假期感觉光速般就结束了,转眼间就要继续搬砖上班了。紧接着很快就要进入金三银四的求职面试高峰期,程序猿小枫还没有找到令自己感到满意的工作。就算是在过年放假期间也在拼命的准备技术面试,这不他又梳理了下之前面试过程中面试官经常问到的关于...

Mysql和redis缓存不一致问题的解决方案

一.问题描述 redis、mysql双写缓存不一致: 在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。于是博主战战兢兢,写了这篇文章。 二.解决方案 1.给缓存数据设置过期时间 先做一...

MySQL 原理与优化之Update 优化

前言: 谈到Update 语句大家可能不会陌生,很多情况下我们都会使用它来更新table中的记录。一般而言我们会使用innodb 的存储引擎,innodb引擎是基于行锁的,具体一点说是针对索引来加锁的(保证锁不能失效),并不是针对记录加锁,如果对于没有建立...

MySql中的存储引擎和索引

一、MySql的逻辑结构 MySQL体系结构分为四层:分别是连接层、服务层、存储引擎层、系统文件层。 连接层又称为客户端连接器(Client Connectors):提供与MySQL服务器建立的支持。连接池:管理、缓冲用户的连接,线程处理等需要缓存的需求。...

SQL中如何将行转成列详解

SQL中怎么将行转成列? 1. 使用 CASE…WHEN…THEN 语句实现行转列,参考如下代码: 2. 使用 IF() 函数实现行转列,参考如下代码: 补充:列转行:union 总结 天天这需求就神奇!!!! [var] 我们...

MySQL通配符与正则表达式搜过滤数据详解

通配符过滤 通配符:用来匹配值的一部分特殊字符。 通配符可以在搜索模式中任意位置使用,并且可以使用多个通配符。 搜索模式:由字面值、通配符或者两者组合构成的搜索条件。 语法(使用LIKE操作符): SELECT [column_name] FROM [ta...

Mysql中tinyint(1)和tinyint(4)的区别详析

1. varchar(M)和数值类型tinyint(M) 的区别         字符串类型:varchar(M)而言,M是字段中可以存储的最大字符串,也就是说字段长度。根据设置,当你插入的数值超过字段设置...

Oracle与MySQL的区别及优缺点

MySQL MySQL的特点 1、性能卓越,服务稳定,很少出现异常宕机; 2、开放源代码无版本制约,自主性及使用成本低; 3、历史悠久,社区和用户非常活跃,遇到问题及时寻求帮助; 4、软件体积小,安装使用简单且易于维护,维护成本低;品牌口碑效应; 5、支持...