-
超详细的MySQL数据库字符集总结,值得收藏
所属栏目:[MySql教程] 日期:2019-09-11 热度:93
MySQL支持多种字符集(character set)提供用户存储数据,同时允许用不同排序规则(collation)做比较。下面基于MySQL5.7介绍一下字符集相关变量的使用。 一、字符集、字符序的概念与联系 在数据的存储上,MySQL提供了不同的字符集支持。而在数据的对比操作上[详细]
-
一文看懂MySQL数据库LnnoDB崩溃恢复机制
所属栏目:[MySql教程] 日期:2019-09-11 热度:120
概述 数据库系统与文件系统很大的区别在于数据库能保证操作的原子性,一个操作要么不做要么都做,即使在数据库宕机的情况下,也不会出现操作一半的情况,这个就需要数据库的日志和一套完善的崩溃恢复机制来保证。下面简单介绍一下InnoDB的崩溃恢复流程。[详细]
-
MySQL如何优化大分页查询?
所属栏目:[MySql教程] 日期:2019-09-11 热度:92
一 背景 大部分开发和DBA同行都对分页查询非常非常了解,看帖子翻页需要分页查询,搜索商品也需要分页查询。那么问题来了,遇到上千万或者上亿的数据量怎么快速的拉取全量,比如大商家拉取每月千万级别的订单数量到自己独立的ISV做财务统计;或者拥有百万[详细]
-
超详细的MySQL数据库InnoDB崩溃恢复机制总结
所属栏目:[MySql教程] 日期:2019-09-11 热度:166
概述 数据库系统与文件系统大的区别在于数据库能保证操作的原子性,一个操作要么不做要么都做,即使在数据库宕机的情况下,也不会出现操作一半的情况,这个就需要数据库的日志和一套完善的崩溃恢复机制来保证。下面简单介绍一下InnoDB的崩溃恢复流程。 相[详细]
-
这几个Redis使用技巧,让你的程序快如闪电
所属栏目:[MySql教程] 日期:2019-09-10 热度:89
一、Redis封装架构讲解 实际上NewLife.Redis是一个完整的Redis协议功能的实现,但是Redis的核心功能并没有在这里面,而是在NewLife.Core里面。 这里可以打开看一下,NewLife.Core里面有一个NewLife.Caching的命名空间,里面有一个Redis类,里面实现了Redis[详细]
-
一份完整的MySQL开发规范,进大厂必看!
所属栏目:[MySql教程] 日期:2019-09-10 热度:62
一、数据库命令规范 1、所有数据库对象名称必须使用小写字母并用下划线分割 2、所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 3、数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 4、临[详细]
-
Java大牛分享关于Redis缓存的几道典型面试题
所属栏目:[MySql教程] 日期:2019-09-10 热度:92
随着系统访问量的提高,复杂度的提升,响应性能成为一个重点的关注点。而缓存的使用成为一个重点。 redis 作为缓存中间件的一个佼佼者,成为了面试必问项目。 本文分享一下Redis几道常见的面试题: 缓存雪崩 1.1 什么是缓存雪崩? 如果我们的缓存挂掉了,[详细]
-
数据库管理工具,你选对了吗?
所属栏目:[MySql教程] 日期:2019-09-10 热度:199
小编为大家带来一款免费的数据库管理器,Valentina Studio for Mac支持SQL Server、MySQL、PostgreSQL、SQLite等服务器,valentina studio数据库管理可以使用不同的图表进行数据建模,功能实用,这款valentina studio mac版是免费的,有需要的朋友可以下载[详细]
-
记一次生产数据库log file sync 等待事件异常及处理过程
所属栏目:[MySql教程] 日期:2019-09-09 热度:190
今天主要从一个案例来介绍一下log file sync这个等待事件及常用的一些解决办法,下面先看下故障时间段的等待事件。 1. 查看卡顿时间段的等待事件及会话 查看故障时间段等待事件、问题sql id及会话访问次数 selecttrunc(sample_time,'mi')tm,sql_id,nvl(eve[详细]
-
MySQL如何重置root密码
所属栏目:[MySql教程] 日期:2019-09-09 热度:136
1. 前言 忘记你的MySQL root密码? 别担心,它发生在我们所有人身上。 在本教程中,我们将向您展示如何重置MySQL root密码,以防您忘记密码。 本教程适用于任何现代Linux发行版,如Ubuntu 18.04、CentOS 7、Debian等等。 2. 准备工作 在继续执行以下步骤之[详细]
-
什么是分布式事务,以及有哪些解决方案?
所属栏目:[MySql教程] 日期:2019-09-09 热度:106
什么是分布式事务? 答:指一次大的操作由不同的小操作组成的,这些小的操作分布在不同的服务器上,分布式事务需要保证这些小操作要么全部成功,要么全部失败。从本质上来说,分布式事务就是为了保证不同数据库的数据一致性。 分布式事务产生的原因? 1 数据[详细]
-
深入浅出Mysql索引的那些事儿
所属栏目:[MySql教程] 日期:2019-09-07 热度:141
一.索引的作用 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。 在数据量和访问量不大的情况下,mysql访问是非常快的[详细]
-
MySQL数据库目录下面的db.opt是干什么用的?
所属栏目:[MySql教程] 日期:2019-09-07 热度:134
概述 MySQL数据库存放数据目录里的db.opt文件是MySQL建库过程中自动生成的。 细心的朋友可能会发现有时候在MySQL数据库的某些库目录下有个db.opt文件,那这个文件是干什么用的呢?如果你用记事本等编辑器打开看的话,内容很简单,是用来记录该库的默认字符[详细]
-
同事用这2个小技巧,让SQL语句效率提升了1000倍
所属栏目:[MySql教程] 日期:2019-09-07 热度:81
本次来讲解与 SQL 查询有关的两个小知识点,掌握这些知识点,能够让你避免踩坑以及提高查询效率。 1. 允许字段的值为 null,往往会引发灾难 首先,先准备点数据,后面好演示 createtableanimal( idint, namechar(20), index(id) )engine=innodb; index(id)[详细]
-
分享两个实用脚本 一键查看索引历史使用情况
所属栏目:[MySql教程] 日期:2019-09-07 热度:99
假设这么一个场景,有一张表建了很多索引,我们可以怎么通过观察索引历史使用记录,来看是不是可以删除一些多余索引呢?下面介绍两个实用的脚本: 查看当前索引使用情况 SELECTp.object_name,p.operation,p.options,COUNT(1) FROMv$sql_planp,v$sqls WHEREp[详细]
-
如何删除MySQL用户帐户
所属栏目:[MySql教程] 日期:2019-09-07 热度:138
MySQL允许您创建多个用户帐户并授予适当的权限,以便用户可以连接和管理数据库。如果不再需要用户帐户,则最好删除用户权限或完全删除用户帐户。 本教程介绍如何删除MySQL/MariaDB用户帐户。 DROP USER语句 在MySQL中,您可以使用DROP USER语句删除一个或[详细]
-
Redis4.0这个新特性,非常有用,你了解吗?
所属栏目:[MySql教程] 日期:2019-09-07 热度:193
我们常说Redis是单线程的服务,单线程的好处非常明显,首先是代码逻辑更加简单,服务更加稳定,但同时,单线程也引来一些问题,例如做一些非常重的操作的时候,其他的任务就会受到影响,有一些非常重要的操作,其实可以多线程来做,例如进行数据的备份,或[详细]
-
图解MySQL里的各种 JOIN,看完不懂来找我!
所属栏目:[MySql教程] 日期:2019-09-06 热度:108
从业以来主要在做客户端,用到的数据库都是表结构比较简单的 SQLite,以我那还给老师一大半的 SQL 水平倒也能对付。现在偶尔需要到后台的 SQL Server 里追查一些数据问题,就显得有点捉襟见肘了,特别是各种 JOIN,有时候傻傻分不清楚,于是索性弄明白并做[详细]
-
分享两个实用SQL--查看故障时间等待事件、问题sql及会话访问次数
所属栏目:[MySql教程] 日期:2019-09-06 热度:116
分享两个SQL,这两个SQL只是基础原型,大家自己自定义条件去做一些调整。主要是在前面讲过的dba_hist_active_sess_history相关sql上总结出来的比较实用的sql。 DBA_HIST_ACTIVE_SESS_HISTORY DBA_HIST_ACTIVE_SESS_HISTORY displays the history of the co[详细]
-
MySQL导入导出命令-mysqldump
所属栏目:[MySql教程] 日期:2019-09-06 热度:72
一、mysqldump工具介绍 mysqldump 是个mysql数据库自带的命令行工具,单线程执行,可以用来备份和还原数据。可以生成 CSV、TXT、XML格式的文件输出。 查看帮助文档 二、利用mysqldump进行数据库备份 1. 数据库操作 (1) 备份所有数据库 mysqldump-h主机IP-u[详细]
-
详解SQL Server加密功能--数据加密和密钥管理
所属栏目:[MySql教程] 日期:2019-09-06 热度:84
概述 今天主要介绍SQL Server加密功能,比较特殊,跟其他数据库的设计还是有些不太一样的。下面一起来看看吧~ SQL Server 加密功能 数据加密是数据库被破解、物理介质被盗、备份被窃取的最后一道防线,数据加密,一方面解决数据被窃取安全问题,另一方面有[详细]
-
浅谈MySQL集群高可用架构
所属栏目:[MySql教程] 日期:2019-09-06 热度:103
前言 高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用。对于一个系统而言,可能包含很多模块,比如前端应用,缓存,数据库,搜索,消息队列等,每个模块都需要做到高可用,才能保证整个系统的高可用。对于数据库服务而[详细]
-
MySQL Online DDL,还是要谨慎
所属栏目:[MySql教程] 日期:2019-09-06 热度:171
导读 MySQL的Online DDL长期饱受诟病,8.0之后有没有好一些呢... 本文重点讨论常见的几种Online DDL需求: 增加新列(ADD COLUMN) 修改列定义(MODIFY COLUMN) 增加/删除索引(ADD/DROP INDEX) 其他的DDL操作相对比较少,所以本文就不讨论了。 此外,本文也不[详细]
-
关于Oracle数据库LOB大字段总结
所属栏目:[MySql教程] 日期:2019-09-06 热度:146
在ORACLE数据库中,DBA_OBJECTS视图中OBJECT_TYPE为LOB的对象是什么东西呢?其实OBJECT_TYPE为LOB就是大对象(LOB),它指那些用来存储大量数据的数据库字段。 Oracle 11gR2 文档: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e18294/adlob_ta[详细]
-
详解oracle数据库主键SYS_GUID()
所属栏目:[MySql教程] 日期:2019-09-06 热度:142
在oracle8i以后提供了一个生成不重复的数据的一个函数sys_guid()一共32位,生成的依据主要是时间和机器码,具有世界唯一性,类似于java中的UUID(都是世界唯一的)。 SYS_GUID SYS_GUID同Oracle管理员所使用的传统的序列(sequence)相比具有诸多优势。一个序[详细]