--===================================================================== 事件起因:开发发现有表插入数据失败,查看后发现INT类型自增值已经到了最大值,无法继续插入,需要修改INT类型为BIGINT类型. --===================================================================== 作为一群自认为还算有点经验的老DBA,大家相互商量下,决定删除复制,然后禁止访问…
博客已转移到腾讯DBA博客 http://tencentdba.com/ 腾讯互娱内部维护了一个MySQL分支,基于官方5.5.24,实现了类似于Oracle 11g的快速加字段功能,这个分支我们内部称为TMySQL.该功能通过扩展存储格式来实现,原理类似于Oracle 11g,以下介绍下其实现原理. 1. GCS行格式 需要在innodb中实现类似oracle的快速加字段功能,仅仅基于原来的行格式是不行的,必须对其进行扩展.为了保证原MySQL和innodb的兼容性,不改变原存储格式的行为,在…
概述 表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部分MySQL引擎支持.最常使用的MYISAM与INNODB都支持表级锁定.表级锁定分为表共享读锁(共享锁)与表独占写锁(排他锁). 特点:开销小,加锁快:不会出现死锁:锁定粒度大,发出锁冲突的概率最高,并发度最低. MySQL 中表级锁有两种:一种是表锁,另一种是元数据锁(meta data lock, MDL). 表锁 表锁的语法是 lock tables...read/write.与…
在修改/增加表字段的时候,发现很慢, show processlist; 时, Waiting for table metadata lock 能一直锁很久. 官网的一段话,可以理解下 http://dev.mysql.com/doc/refman/5.5/en/metadata-locking.html 8.10.4. Metadata Locking MySQL 5.5.3 and up uses metadata locking to manage access to objects (t…
MySQL学习笔记-如何安全的给小表加字段 如果要给一个大表加字段,你一般都会非常谨慎小心,以免对线上业务造成影响,但实际上给一个小表加字段不慎操作也会导致线上业务出问题,这篇文章主要学习一下MySQL中MDL锁对性能的影响,防止采坑. 1.笔记图 2.全局锁 全局锁就是对整个数据库实例加锁 命令: Flush tables with read lock (FTWRL) 全局锁现象:数据更新语句(数据的增删改).数据定义语句(包括建表.修改表结构等)和更新类事务的提交语句会被阻塞 3.数据逻辑备…
最近一个统计系统的大表需要加字段,表的引擎是myisam,表大小在3亿,物理文件在106G.想想都蛋疼.那么这种情况下怎么把字段撸上去呢? 1. 首先想到了<高性能MySQL>提到的直接更改表结构文件(frm),但是在经过测试以后,发现提示表损坏了,需要repair,只好放弃了. 2. 使用pt-online-schema-change,刚开始跑没有问题,后面在凌晨发现影响业务了,也只好放弃了. 3. 最近GitHub开源的gh-ost,属于新鲜玩意,还没有研究,只好放弃. 4. 创建新表,l…
翻阅了一下网上关于alter table添加表约束的资料,学习下,然后供自己以后使用. 仅仅供自己使用... 总结alter table ### add constraint ## 使用方法 添加表约束 首先看下alter table的定义(百度百科): Alter table,网络程序及编程中所用的术语.通过更改.添加.除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义. 数据库SQL语言的修改语句,可以用来修改基本表,其一般表示格式为: ALTER TABLE<表名>[改变方式]…
nvicat-->mysql表设计-->创建索引. (1)使用ALTER TABLE语句创建索引,其中包括普通索引.UNIQUE索引和PRIMARY KEY索引3种创建索引的格式: PRIMARY KEY 主键索引:mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) NIQUE唯一索引:mysql>ALTER TABLE `table_name` ADD UNIQUE ( `column` ) INDEX普通索引…
--增加列ALTER TABLE Student add sex number(2);--删除列ALTER TABLE Student drop column sex;--更改列属性 ALTER TABLE Student modify city number(2);--更改默认值ALTER TABLE Student modify sex default 1;--增加表主键ALTER TABLE Student add constraint stu_pk primary key(student…
1.alter   table   [dbo].[SiteTracks]   drop   constraint   DF__SiteTrack__Audit__47DBAE452.ALTER TABLE  [dbo].[SiteTracks] DROP COLUMN  AuditOwnerId3.alter table [dbo].[Project] add AuditOwner uniqueidentifier default '00000000-0000-0000-0000-0000000…