-
分享两个实用sql:根据会话查询当前和历史执行过的sql
所属栏目:[MySql教程] 日期:2019-09-07 热度:180
分享两个脚本,主要是通过Oracle会话sid来查询一下当前执行的sql和历史执行过的一些sql。 根据sid查询历史执行过的sql selectsql_textfromv$sqlareaa,v$sessionbwherea.SQL_ID=b.PREV_SQL_IDandb.SID=sid; 根据sid查询当前执行的sql selectsql_text fromv$[详细]
-
这句简单的SQL,如何加索引?颠覆了我多年的认知
所属栏目:[MySql教程] 日期:2019-09-03 热度:162
不啰嗦,直接入正题。问题是这样的。请问下面的sql语句,要想加快查询速度,该怎么创建索引?以下,以mysql数据库为准。 select*fromtestwherea=?andb?orderbyclimit0,100 结果可能会出乎你的意料。我们首先准备一下运行环境,然后按照最左前缀原则和explai[详细]
-
分享两个实用脚本 一键查看索引历史使用情况
所属栏目:[MySql教程] 日期:2019-08-31 热度:87
假设这么一个场景,有一张表建了很多索引,我们可以怎么通过观察索引历史使用记录,来看是不是可以删除一些多余索引呢?下面介绍两个实用的脚本: 查看当前索引使用情况 SELECTp.object_name,p.operation,p.options,COUNT(1) FROMv$sql_planp,v$sqls WHEREp[详细]
-
如何删除MySQL用户帐户
所属栏目:[MySql教程] 日期:2019-08-31 热度:140
MySQL允许您创建多个用户帐户并授予适当的权限,以便用户可以连接和管理数据库。如果不再需要用户帐户,则最好删除用户权限或完全删除用户帐户。 本教程介绍如何删除MySQL/MariaDB用户帐户。 DROP USER语句 在MySQL中,您可以使用DROP USER语句删除一个或[详细]
-
Redis4.0这个新特性,非常有用,你了解吗?
所属栏目:[MySql教程] 日期:2019-08-31 热度:150
我们常说Redis是单线程的服务,单线程的好处非常明显,首先是代码逻辑更加简单,服务更加稳定,但同时,单线程也引来一些问题,例如做一些非常重的操作的时候,其他的任务就会受到影响,有一些非常重要的操作,其实可以多线程来做,例如进行数据的备份,或[详细]
-
图解MySQL里的各种 JOIN,看完不懂来找我!
所属栏目:[MySql教程] 日期:2019-08-31 热度:153
从业以来主要在做客户端,用到的数据库都是表结构比较简单的 SQLite,以我那还给老师一大半的 SQL 水平倒也能对付。现在偶尔需要到后台的 SQL Server 里追查一些数据问题,就显得有点捉襟见肘了,特别是各种 JOIN,有时候傻傻分不清楚,于是索性弄明白并做[详细]
-
分享两个实用SQL--查看故障时间等待事件、问题sql及会话访问次数
所属栏目:[MySql教程] 日期:2019-08-31 热度:179
分享两个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-08-31 热度:54
一、mysqldump工具介绍 mysqldump 是个mysql数据库自带的命令行工具,单线程执行,可以用来备份和还原数据。可以生成 CSV、TXT、XML格式的文件输出。 查看帮助文档 二、利用mysqldump进行数据库备份 1. 数据库操作 (1) 备份所有数据库 mysqldump-h主机IP-u[详细]
-
详解SQL Server加密功能--数据加密和密钥管理
所属栏目:[MySql教程] 日期:2019-08-31 热度:109
概述 今天主要介绍SQL Server加密功能,比较特殊,跟其他数据库的设计还是有些不太一样的。下面一起来看看吧~ SQL Server 加密功能 数据加密是数据库被破解、物理介质被盗、备份被窃取的最后一道防线,数据加密,一方面解决数据被窃取安全问题,另一方面有[详细]
-
浅谈MySQL集群高可用架构
所属栏目:[MySql教程] 日期:2019-08-31 热度:139
前言 高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用。对于一个系统而言,可能包含很多模块,比如前端应用,缓存,数据库,搜索,消息队列等,每个模块都需要做到高可用,才能保证整个系统的高可用。对于数据库服务而[详细]
-
MySQL Online DDL,还是要谨慎
所属栏目:[MySql教程] 日期:2019-08-31 热度:77
导读 MySQL的Online DDL长期饱受诟病,8.0之后有没有好一些呢... 本文重点讨论常见的几种Online DDL需求: 增加新列(ADD COLUMN) 修改列定义(MODIFY COLUMN) 增加/删除索引(ADD/DROP INDEX) 其他的DDL操作相对比较少,所以本文就不讨论了。 此外,本文也不[详细]
-
关于Oracle数据库LOB大字段总结
所属栏目:[MySql教程] 日期:2019-08-31 热度:181
在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-08-31 热度:144
在oracle8i以后提供了一个生成不重复的数据的一个函数sys_guid()一共32位,生成的依据主要是时间和机器码,具有世界唯一性,类似于java中的UUID(都是世界唯一的)。 SYS_GUID SYS_GUID同Oracle管理员所使用的传统的序列(sequence)相比具有诸多优势。一个序[详细]
-
关于Oracle数据库Kfk: Async Disk IO等待事件深度解析
所属栏目:[MySql教程] 日期:2019-08-31 热度:126
概述 一大早运维团队就来找事,说系统又有点卡了,然后发现了一个比较少见的等待事件--kfk: async disk IO,趁着这次排查的过程也简单说下这个等待事件吧! 1、查看TOP N等待事件 SELECTinst_id,EVENT,SUM(DECODE(WAIT_TIME,0,0,1))Prev,SUM(DECODE(WAIT_TI[详细]
-
图解MySQL索引:B-树、B+树
所属栏目:[MySql教程] 日期:2019-08-31 热度:125
看了很多关于索引的博客,讲的大同小异。但是始终没有让我明白关于索引的一些概念,如B-Tree索引,Hash索引,唯一索引.或许有很多人和我一样,没搞清楚概念就开始研究B-Tree,B+Tree等结构,导致在面试的时候答非所问! 索引是什么? 索引是帮助MySQL高效获[详细]
-
MongoDB将弃用 Perl 驱动,Perl 还能行吗?
所属栏目:[MySql教程] 日期:2019-08-31 热度:107
由于使用者过少,MongoDB 宣布弃用 Perl 驱动。 MongoDB 高级产品经理 Scott L'Hommedieu 表示,在过去几年中,团队调查了用户群体,并与使用 Perl 驱动的公司进行交流,得到的反馈是,用户对于通过 Perl 驱动支持 MongoDB 新功能的要求极少。另一边,Mong[详细]
-
五大常见的MySQL高可用方案
所属栏目:[MySql教程] 日期:2019-08-31 热度:170
1.概述 我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面: 1.1 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断。 1.2 用作备份、只读副本等功能的非主节点[详细]
-
深入浅出Mysql索引的那些事儿
所属栏目:[MySql教程] 日期:2019-08-25 热度:152
一.索引的作用 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。 在数据量和访问量不大的情况下,mysql访问是非常快的[详细]
-
MySQL数据库目录下面的db.opt是干什么用的?
所属栏目:[MySql教程] 日期:2019-08-25 热度:96
概述 MySQL数据库存放数据目录里的db.opt文件是MySQL建库过程中自动生成的。 细心的朋友可能会发现有时候在MySQL数据库的某些库目录下有个db.opt文件,那这个文件是干什么用的呢?如果你用记事本等编辑器打开看的话,内容很简单,是用来记录该库的默认字符[详细]
-
同事用这2个小技巧,让SQL语句效率提升了1000倍
所属栏目:[MySql教程] 日期:2019-08-25 热度:54
本次来讲解与 SQL 查询有关的两个小知识点,掌握这些知识点,能够让你避免踩坑以及提高查询效率。 1. 允许字段的值为 null,往往会引发灾难 首先,先准备点数据,后面好演示 createtableanimal( idint, namechar(20), index(id) )engine=innodb; index(id)[详细]
-
记一次生产数据库优化--定期归档大表
所属栏目:[MySql教程] 日期:2019-08-23 热度:137
最近系统总是卡顿,因为老系统,也看不到代码,所以只能从数据库层面去分析了,下面记录下问题排查过程。 1. 查看超过10s的sql SELECT'kill-9'||p.spid,/*p.spid,p.pid,*/s.sid,s.username,s.machine,s.sql_hash_value,s.last_call_et秒,s.last_call_et/60[详细]
-
分布式事务的实现原理详解
所属栏目:[MySql教程] 日期:2019-08-23 热度:182
事务是数据库系统中非常有趣也非常重要的概念,它是数据库管理系统执行过程中的一个逻辑单元,它能够保证一个事务中的所有操作要么全部执行,要么全不执行;在 SOA 与微服务架构大行其道的今天,在分布式的多个服务中保证业务的一致性就需要我们实现分布式[详细]
-
数据库索引的优化及SQL处理过程
所属栏目:[MySql教程] 日期:2019-08-23 热度:187
想要设计出好的索引,首先必须了解SQL语句在数据库服务器中的处理过程,本文介绍 数据库索引设计与优化 中几个对索引优化非常重要的概念。 谓词 谓词就是条件表达式。 SQL语句的where子句由一个或者多个谓词组成。 WHERESEX='M' AND (WHIGHT90 OR HEIGHT19[详细]
-
企业使用数据库的12种姿势
所属栏目:[MySql教程] 日期:2019-08-22 热度:88
数据库,作为IT系统的基础类软件,发挥着非常巨大的作用。那么企业在使用数据库时,有什么样的方式可以选择?不同方式又各有其什么特点呢?本文将从使用方式、适用场景、未来发展、成本因素(人力、财务、时间)及风险点等多角度分析十二种情况(前六种为本地方[详细]
-
如何在Docker中部署MySQL数据库?
所属栏目:[MySql教程] 日期:2019-08-22 热度:143
Docker为部署和测试应用程序和数据库提供了许多优势,这些应用程序和数据库是应用程序不可或缺的一部分,因此很值得学习如何在Docker容器中部署和运行数据库。 本文中,我们会重点关注如下重点: 为MySQL Docker容器创建Docker Compose YAML文件。 使用各[详细]