MySQL

【原理】MySQL数据库的事务特性概念梳理总结

重温事务的概念 为什么用事务、事务是什么 我们规定了,做一件事情,只有成功和失败!用个很经典的例子举例:银行转账,A向B转账十万,能不能发生一遍付钱一边没收钱的情况?现实中一定是A和B同时成功或者失败,不能出现一边成功另一边失败的情景,这就是事务的简单例子...

MySQL原理:mysql的Buffer Pool缓存存储及原理解析

一、前言 1、buffer pool是什么 咱们在使用mysql的时候,比如很简单的select * from table;这条语句,具体查询数据其实是在存储引擎中实现的,数据库中的数据实际上最终都是要存放在磁盘文件上的,如果每次查询都直接从磁盘里面查询,...

教你如何使用Mysql的explain分析SQL语句

引言 数据库性能优化是每个后端程序猿必备的基础技能之一,而Mysql中的explain堪称Mysql的性能优化分析神器,我们可以通过它来分析SQL语句的对应的执行计划在Mysql底层到底是如何执行的,它对于我们评估SQL的执行效率以及确定Mysql的性能优...

MySQL开发知识:MySQL中存储过程的详细详解

概述 由MySQL5.0 版本开始支持存储过程。 如果在实现用户的某些需求时,需要编写一组复杂的SQL语句才能实现的时候,那么我们就可以将这组复杂的SQL语句集提前编写在数据库中,由JDBC调用来执行这组SQL语句。把编写在数据库中的SQL语句集称为存储过...

教你MySQL如何让一个表中可以有多个自增列的方法

前言: 自增列可使用 auto_increment 来实现,当一个列被标识为 auto_increment 之后,在添加时如果不给此列设置任何值,或给此列设置 NULL 值时,那么它会使用自增的规则来填充此列。 PS:本文以下内容基于 MySQL Inno...

SQL开发知识:MySQL教你快速创建800w条测试数据表

一、数据插入思路 如果一条一条插入普通表的话,效率太低下,但内存表插入速度是很快的,可以先建立一张内存表,插入数据后,在导入到普通表中。 1、创建内存表  View Code 2、创建普通表 普通表参数设置和内存表相同,否则从内存表往普通标导入数据会报错。...

SQL开发知识:MySQL 数据库如何实现存储时间

1.切记不要用字符串存储日期 字符串占用的空间更大! 字符串存储的日期比较效率比较低(逐个字符进行比对),无法用日期相关的 API 进行计算和比较。 2.Datetime 和 Timestamp 之间抉择 Datetime 和 Timestamp 是 My...

Postgresql 数据库基础 权限功能的使用详解

Postgresql数据库支持灵活的权限管理,可以控制一个角色(组、用户)对某张表的读、写、更新、删除等操作权限、执行某个函数的权限以及操作(使用、更新等)视图、序列的权限。 PG的权限管理功能比较强大,可以细化到对一张表的各个字段,比如禁止用户访问一张表...