随笔分类 - DBA之路
摘要:DROP PROCEDURE IF EXISTS sp_name; create procedure sp_name() BEGIN DECLARE suozaizhuji VARCHAR(32); DECLARE base_ip VARCHAR(32); DECLARE s int DEFAULT
阅读全文
摘要:在sql server中,死锁都与一种锁有关,那就是排它锁(x锁)。由于在同一时间对同一个数据库资源只能有一个数据库进程可以拥有排它锁。因此,一旦多个进程都需要获取某个或者同一个数据库资源的排它访问权,而又被对方所阻止的时候,死锁就会出现。 第一种就是最经典的race condition思路,两个数
阅读全文
摘要:1.事物的保存点 MYSQL可以让我们对事务进行部分回滚,就是在事务里调用SAVEPOINT语句来设置一些命名标记。如果想要回滚到那个标记点位置,需要使用ROLLBACK语句来指定哪个保存点。 2.SQL Server 排序函数 ROW_NUMBER: 根据组显示每一条记录在该组中出现的位置,例如:
阅读全文
摘要:前几天统计一个sql,是一个人提交了多少工单,顺便做了相关sql优化。数据大概2000多w。 为了实验最少受其他因素干扰,将生产库的200多w数据导出来,用测试服务器进行测试。 导出来的数据是一个堆表,没有主键,没有索引。 1.堆表的情况 这时候就在这时候,用执行计划分析下语句。 select_ty
阅读全文
摘要:我已经讨论了各种确定恢复状态的方法,但是本周我参与了一个围绕回滚的有趣讨论。交易已经运行了14个小时,然后发出了KILL SPID。SPID进入回滚,并发生2天和4小时。 自然的问题是为什么不14小时回滚? 没有一些具体的细节很难说,但如果原来的查询使用了并行工作,那么可能会完成超过14个小时的工作
阅读全文
摘要:今天在测试服务器做调试的时候,遇到Mysql的启动问题,好像是PID文件找不到了。 不科学啊,前几天还好好的呀,我也没怎么乱搞啊,然后一通百度,找到了几个解决办法。 1.有可能是已经存在mysql进程,多执行killall mysql,直到显示 no process killed. 2.有可能是my
阅读全文
摘要:这一段时间,因为系统升级,新系统产生的数据长度,比原来的数据长度要长,所以说要扩充一下字段长度。 在执行的时候,有这样一个情况。 例如Student表的Name字段长度是nvarchar(50), 假如想变成nvarchar(100),这种情况,立刻能执行成功。 假如想变成nvarchar(20),
阅读全文
摘要:SQLServer 代理发邮件需要开启SQL Server 代理服务器,然后,在【管理】-【数据库邮件】中,右键点击配置数据库邮件。 我用的是腾讯的企业邮箱,个人的163邮箱略微不同。下图是相关邮件的配置 这是配置文件的配置。 配置完成之后,就把下边语句写成存储过程,之后,再配置定时任务,定时执行该
阅读全文
摘要:在我们操作数据库的时候,尤其是执行,update,delete操作的时候,都存在着误操作的风险,今天发现一种方法,能避免这一问题,就是使用Mysql的alias 。 1.查看Mysql帮助 在mysql命令加上选项 -U后,执行update,delete语句时,若语句中不包含where或limit关
阅读全文
摘要:刚才有幸看了下 nvarchar(n)和varchar(n),感觉以前的认知有误。 nvarchar(n):n指的是字符个数,范围是1-4000,存储的是可变长度的Unicode字符数据。 按字符存储,1个中文或者英文字符都占2个字节。 varchar(n):n指的是字节个数(其实这个地方用【字符】
阅读全文
摘要:有时候,在Mysql数据库中会经常遇到乱码的问题,现在普遍的做法就是全部强行把编码格式都设置成utf8模式,就可以解决这个问题,以前是知其然,不知其所以然,今天我就稍微研究了下Mysql的字符集。 就拿我刚用二进制模式刚装的Mysql5.6来说,查看一下字符集是这样。 1.看到这里,对 charac
阅读全文
摘要:一、mysqldump 1.备份test库 2.备份 -B参数 3.备份 --compact 去除那些多余的字符 4.mysql恢复 5.mysqldump的压缩 gzip 6.mysqldump的压缩恢复 gunzip 7.mysqldump只备份表结构 -d 8.mysqldump只备份表数据(
阅读全文
摘要:系统:centos6 数据库:mysql5.6 服务器:两台,一主一从 一、Mysql5.6二进制版本的安装 Mysql的安装在有三种模式,第一种是yum安装,第二种是二进制模式的安装,第三种是源码编译安装。本篇采用的是二进制安装方式。 安装前有几个工作建议先做一下,尽量排除掉一切可能失败的因素。
阅读全文
摘要:利用二进制还原数据库的时候,突然有点纠结,log_bin和sql_log_bin有什么区别呢?行吧,搜搜,结合自己的经验,简单说一下。log_bin:二进制日志。 在 mysql 启动时,通过命令行或配置文件决定是否开启 binlog,而 log_bin 这个变量仅仅是报告当前 binlog 系统的
阅读全文
摘要:Mysql多实例配置成功后,想让配置成开机自启。 首先看一下Linux启动的知识点,顺序如下。 1 加载内核2 执行init程序3 /etc/rc.d/rc.sysinit # 由init执行的第一个脚本4 /etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式,lin
阅读全文
摘要:前两天做系统调优的时候,想着把一系列的表联合查询换成视图查询,这样速度就会快些,但是效果却不是很理想。下面我把相关实验过程记录下来。 原sql语句是一个表联合查询,WorkOrder表数据有2000多万条。下面代码是一个是联合查询,一个是将联合查询建成一个视图。 我执行了5次这段代码,5次结果如下。
阅读全文
摘要:1.SQL行列转换 问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94想变成(得到如下结果): 姓名 语文 数学 物理 李四 74 84 94张三 74 83 93 代码: 2.SQL分页 3.SQL
阅读全文
摘要:卸载方法一: 卸载方法二: shell查看mysql的版本
阅读全文
摘要:梦想还是要有的,万一实现了呢。做一个关于DBA成长之路的相关目录,作为灯塔。 SQL Server 1.数据库基础 1.1Sql Server中的nvarchar(n)、varchar(n) 和Mysql中的char(n)、varchar(n) 1.2数据库知识总结(表结构操作) 1.3《SQL必知
阅读全文