由于业务随着时间不停的改变,起初的表结构设计已经满足不了如今的需求,这时你是不是想那就加字段呗!加字段也是个艺术活,接下来由本文的主人咔咔给你吹. 试想一下这个场景 事务A在执行一个非常大的查询 事务B毫不犹豫的执行了DDL操作 接下来会发生什么,你如果已经知道答案的话恭喜你又掌握了一个MySQL中重要的知识点. 事务A执行查询时会持有MDL锁,而事务B同样也需要MDL锁,但事务A在进行大查询,所以导致事务B后的所有操作都会被堵塞. 这时你应该知道了在MySQL中所有对表的增删改查都需要申请MD…
前言 看到蒋老师的第一篇文章后就收货颇丰,真是句句戳中痛点. 令我记忆最深的就是为什么知道了一个个技术点,却还是用不好 ?不管是蒋老师所说的Redis还是本系列要展开学习的MySQL. 这是一个值得思考的问题,在大多数情况下,我们直接上百度搜索MySQL事务.MySQL索引之类的词汇. 上述问题当然也是MySQL的几个核心问题之一,但如果我们都在不断地学习这些大的方面,我们怎么才能在学习某一个技能上有质的提升. 借用蒋老师的话术:"很多技术人都有一个误区,就是只注重零散的技术,没有建立一个完整的…
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数.事务.语句 第四篇:MySQL 系列(四) 主从复制.读写分离.模拟宕机.备份恢复方案生产环境实战 去年公司有一个七年PHP开发经验的工程师,想要跳槽. 去国内某知名互联网公司面试后,被虐惨了,非要我给他讲讲什么是主从复制. 那好吧,读这篇文章的人好帅! 元芳,你怎么看? 本章内容: 主从复制 简…
Katalon Studio中也可以运行Windows命令执行一些系统操作. 根据官方文档,在test case中输入命令:cmd = 'del E:\\shot\\*.xlsx E:\\shot\\*.zip'Runtime.getRuntime().exec(cmd) 运行报错 网上搜到解决方案,修改cmd如下cmd = 'cmd.exe /c del E:\\shot\\*.xlsx E:\\shot\\*.zip' 运行成功 除了直接运行cmd命令,也可以执行.bat文件,代码示例如下…
本章内容: 主从复制 简介原理 备份主库及恢复从库,配置从库生效 读写分离 如果主宕机了,怎么办? 双主的情况 MySQL 备份及恢复方案 备份单个及多个数据库 mysqldump 的常用参数 如何增量恢复呢? 增量恢复的必要条件 生产环境 mysqldump 备份命令 恢复喽 一.MySQL主从复制 1.简介 我们为什么要用主从复制? 主从复制目的: 可以做数据库的实时备份,保证数据的完整性: 可做读写分离,主服务器只管写,从服务器只管读,这样可以提升整体性能. 原理图: 从上图可以看出,同步…
一.概述 如果想要执行存储过程,我们应该使用 CallableStatement 接口. CallableStatement 接口继承自PreparedStatement 接口.所以CallableStatement 接口包含有Statement 接口和PreparedStatement 接口定义的全部方法,但是并不是所有的方法我们都要使用,主要使用的方法有这样几个: CallableStatement 常用方法: 返回类型 方法签名 说明 boolean execute() 执行 SQL 语句…
<Replication的犄角旮旯>系列导读 Replication的犄角旮旯(一)--变更订阅端表名的应用场景 Replication的犄角旮旯(二)--寻找订阅端丢失的记录 Replication的犄角旮旯(三)--聊聊@bitmap Replication的犄角旮旯(四)--关于事务复制的监控 Replication的犄角旮旯(五)--关于复制identity列 Replication的犄角旮旯(六)-- 一个DDL引发的血案(上)(如何近似估算DDL操作进度) Replication的…
一. 简介 DQL:指数据库中的查询(select)操作. DML:指数据库中的插入(insert).更新(update).删除(delete)等行数据变更操作. DDL:指数据库中加列(add column).修改列(change column).创建索引(create index).删除索引(drop index).删除表(drop table).清理表(truncate table)等表结构定义操作. 经常有同学会碰到索引加不上,或者drop table卡住等DDL执行问题,很想和他们解释…
一.背景介绍 了解一个sql语句的执行过程,了解一部分都做了什么,更有利于对sql进行优化,因为你知道它的每一个连接.where.分组.子查询是怎么运行的,都干了什么,才会知道怎么写是不合理的. 大致执行顺序: select[distinct] from join(如:left join) on where group by having union order by limit 二.数据表准备 1.创建表 DROP TABLE IF EXISTS student; CREATE TABLE `…
MySQL 5.5 DDL 在MySQL 5.5版本前,所有DDL操作都使用Copy Table的方式完成,操作过程中原表数据库不允许写入,只能读取,在MySQL 5.5版本中引入FIC(Fast index creation)特性. FCI 操作流程: (1)对表加共享S锁,允许其他会话读操作,但禁止写操作, (2)根据当前表数据创建索引, (3)新索引创建完成,解除S锁,允许读写. FCI 优点: (1)创建索引不需要拷贝整表数据,创建速度快, (2)创建索引过程中,可以快速中止. FCI限…
辛苦所得,转载还请注明: https://www.cnblogs.com/applerosa/p/9739007.html  得空整理了关于java 开发中,所有打包方式的 一个操作方法, 有基于IDE的,有基于构建工具的. 这里还是比较建议新手朋友尽快习惯 maven 和 gradle 等构建工具自带的打包方式. 不是说逼格高,的确是因为不依赖 IDE, 配置好 一两行命令就搞定. 离开IDE 照样出包. 大概分为这几个步骤 一.  关于Jar 包(example.jar) 的 结构/作用/使…
在线大表DDL操作的方法: 1.主从架构轮询修改 需要注意: a.主库会话级别的记录binglog的参数关闭 b.500\502错误异常捕捉 c.检查备库的second behind master是否有延迟 d.varchar有页分裂的情况,尽量减少varchar的长度 2.在线工具online-schema-change需要注意: 需要注意: a.超过1000w行,速度会变慢(半小时左右) 参考链接:http://www.it165.net/pro/html/201312/8928.html…
http://www.cnblogs.com/janehoo/p/5382474.html 线大表DDL操作的方法: 1.主从架构轮询修改 需要注意: a.主库会话级别的记录binglog的参数关闭 b.500\502错误异常捕捉 c.检查备库的second behind master是否有延迟 d.varchar有页分裂的情况,尽量减少varchar的长度 2.在线工具online-schema-change需要注意: 需要注意: a.超过1000w行,速度会变慢(半小时左右) 参考链接:ht…
背景 为了监控好生产环境下各个数据库服务器上DDL操作日志,便于运维工程师管控好风险,我们有必要关注当前实例下的所有的DDL操作以及对应的IP和hostname. 测试环境 Microsoft SQL Server 2012 - 11.0.2218.0 (X64)  Jun 12 2012 13:05:25  Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.2 <X64> (Build…
Flink的数据流图的生成主要分为简单执行计划-->StreamGraph的生成-->JobGraph的生成-->ExecutionGraph的生成-->物理执行图.其中前三个(ExecutionGraph的之前都是在client上生成的).ExectuionGraph是JobGraph的并行版本,是在JobManager(master)端生成的.而物理执行图只是一个抽象的概念,其具体的执行是在多个slave上并行执行的. 原理分析 Flink效仿了传统的关系型数据库在运行SQL时…
一.Linux环境搭建 1.安装虚拟机软件(VMWare,Parallel) 虚拟机的作用:将本来不是适合当前操作系统的分区虚拟化成适合当前操作系统的分区格式 2.新建虚拟机: 类似买了一台新的电脑,和当前Windows操作系统没有关系 3.在虚拟机上安装Linux操作系统: 类似在裸机上安装Windows操作系统的过程 4.配置网络: 在终端输入:vi/etc/sysconfig/network-scripts/ifcfg-ens33 (1).BOOTPROTO=static a .stati…
摘要:GaussDB(DWS)是从Postgres演进过来的,像Postgres一样,如果表被视图引用的话,特定场景下,部分DDL操作是不能直接执行的. 背景说明 GaussDB(DWS)是从Postgres演进过来的,像Postgres一样,如果表被视图引用的话,特定场景下,部分DDL操作是不能直接执行的,比如修改被视图引用的字段的类型,删除表等,而新增字段是可以操作,主要原因是视图引用了表的字段,修改的话视图也需要变化.下面稍微演示一下这部分内容,被视图引用的表进行DDL操作会有什么表现.然…
我们知道SqlServer的查询优化器会将所执行的Sql语句的执行计划作缓存,如果后续查询可以复用缓存中的执行计划,那么SqlServer就会为后续查询复用执行计划而不是重新生成一个新的执行计划,因为复用执行计划的性能比生成执行计划的性能要高很多,所以SqlServer的这一特性可以大大提高Sql语句的执行效率.特别是对于存储过程,因为存储过程的执行计划是在存储过程第一次执行的时候生成的,存储过程的执行计划生成后就会被缓存到SqlServer的执行计划列表中,如果以后存储过程再被执行,那么存储过…
引用出处: http://www.itpub.net/thread-1746448-1-1.html 要说明这个问题,首先需要说明什么是DDL语句.DDL语句是数据定义语句,包括各种数据对象的创建.修改和删除,以及授权等操作. 在Oracle中DDL语句将转化为修改数据字典表的DML语句.一个简单的修改表的DDL语句,会导致Oracle在后台通过递归SQL语句进行大量的查询和修改的操作. 如果有兴趣,可以通过SQL_TRACE根据一下DDL语句,检查一下Oracle后台实际执行了哪些操作. 在O…
一.基本概念 UIKit框架中,可以直接执行拷贝黏贴操作的有:UITextView.UITextField和UIWebView,其他控件需要实现相关方法. 关于UIPasteboard ·黏贴板是app内或者app之间,交换数据的标准机制 ·有公开的也有私有的,公开的黏贴板为系统级别(system pasteboard),私有的黏贴板为应用程序级别(app pasteboard),系统级别的黏贴板可以分享数据给任意其他app,应用程序级别的黏贴板只能分享给应用本身或者有相同team ID的应用…
通过本文,简单的了解下环境变量及其操作,与便于遇到相关问题时能够准确快捷的解决. 什么是环境变量 An environment variable is a dynamic-named value that can affect the way running processes will behave on a computer. --- wikipedia 转成中文大概就是 " 环境变量是一个动态命名的值,这个值能够影响计算机如何运行程序" ,接下来根据例子来理解可能会更好~ 当用户…
写在前面 最近学习react,之前做vue项目的时候,一直都是拿来主义,浑浑噩噩,感觉不太好,趁学习react的机会,在顺带学习一下webpack.一般配置文件分两份,为开发环境和生成环境.有此区分,是为了更好的利用缓存,生成环境将所有的第三分库文件打包成一个,所有的业务逻辑的文件就会单独生成一个,每次业务逻辑的修改之后,在生成环境中只需要上传修改代码逻辑的部分,而第三方库文件则不会修改,如此只需更新少量的代码,增加加载的速度. webpack.config.js 开发开发环境的配置 packa…
废话不多说,以下记录了Centos7针对Jira6的安装,汉化,破解的操作过程,作为运维笔记留存. 0) 基础环境 192.168.10.212 Centos7.4 mysql 5.6 jdk 1.8 jira6.3.6.tar.gz mysql-connector-java-5.1.26.bin.jar mysql驱动包 JIRA-6.3.3-language-pack-zh_CN.jar 汉化包 atlassian-extras-2.2.2.jar jira系统破解包 atlassian-u…
对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 复制代码代码如下: --演示环境  [root@SZDB ~]# more /etc/issue  CentOS release 5.9 (Final)  Kernel \r on an \m…
1.如何通过eclipse将Java项目生成可执行jar包 首先把在eclipse下的java项目导出jar file 下一步 下一步 下一步 最后点击完成,便生成了可执行的jar文件.可以在刚刚选择导出目录的文件夹中找到. 2.将刚刚生成的jar文件导出可执行的.exe文件,首先安装exe4j软件,下载地址如下:http://www.jb51.net/softs/541579.html,下载后安装破解.打开界面如下 直接下一步,选择第二个 下一步 下一步 如果要在64位下运行,则要点击下面那个…
hive执行结果moveTask操作失败 Apache Hive 2.1.0 ,在执行"INSERT OVERWRITE TABLE ...... select "或者 "insert overwrite directory /tmp/data/hive-test "操作,如果生成的结果文件是多个时,执行结果文件moveTask操作会失败.最新的Apache Hive 2.1.1版本同样有该问题:Apache Hive 1.2.1版本的hive没有该问题. 具体执行…
POSTMAN是有谷歌的开源工具,在开发调试.测试执行过程中使用频率非常广泛,本文将记录一些postman在测试中常见的一些配置和使用方法 一.基本的页面区域 略,很简单,大家都会看,再有,学习下面的技能时,也都会知道.  三个基础新建功能和三个高级新建功能,这里创建接口文档和Mock Server比较有用,后续会使用介绍 下面列的几个会比较有用,后面会有文章介绍. 二.设置环境变量 为了提高接口的复用性,方便在测试环境和生成环境快速切换,高校执行测试和调试,可以通过配置环境变量的方式实现 1.…
本篇文章首发于我的头条号Elasticsearch本地环境安装和常用操作,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的CSDN博客. Elasticsearch是一个分布式.RESTful风格的搜索和数据分析引擎.目前已被各大公司广泛的引入生产使用,也已成为大数据生态的重要组成部分.本篇简单介绍一下Elasticsearch的本地安装和一些常用操作. Elasticsearch使用Java构建,不同版本的E…
01-Hive表的DDL操作--修改表 创建一个分区表并加载数据 查询数据 修改表 加载数据 查询一下 另外一个命令查询表的分区 如何删除一个分区呢 查询一个,分区被删除了 修改表名 查询改名的新表的数据 增加一列 查看表的结构,增加了一个字段 修改列 再来查看一下,除了分区列,其他所有列都被替换成了name 修改对应列 查看表结构,发现name字段改变了 02-Hive显示命令 查看分区 查看自带函数 查看详细表结构 格式化查看表结构 可以在hive控制台输入linux命令 !clear 清屏…
目录 了解 DDL 操作与 REDO 的关系 DDL是否会产生REDO 通过 10046 trace 来分析create 和drop 如果drop失败,redo的变化 了解 DDL 操作与 REDO 的关系 DDL是否会产生REDO 用到的SQL: ---查看redo的大小 SQL> select b.name,a.value from v$mystat a,v$statname b where a.statistic#=b.statistic# and b.name='redo size';…