数据库
yjaspire
这个作者很懒,什么都没留下…
展开
-
linux系统定时备份oracle
1.备份脚本#!/bin/bash#:本脚本自动备份7天的数据库,每次备份完成后,删除7天之前的数据。#加载oracle的相关参数#如果oracle参数不明确,请使用命令查看# su - oracle # echo $ORACLE_HOME# #如果是在windows中编辑命令上传脚本之后需要执行下面的命令转化为unix格式#sed -i 's/\r$//' back-up....原创 2019-12-11 13:39:07 · 356 阅读 · 0 评论 -
mysql字段varchar区分大小写utf8_bin、utf8_general_ci编码区别
测试联接查询索引的时候发现的。。。。mysql字段varchar区分大小写utf8_bin、utf8_general_ci编码区别在mysql中存在着各种utf8编码格式:utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。utf8_general_cs区分大小写,cs为case...转载 2018-07-15 09:27:23 · 1053 阅读 · 0 评论 -
Mysql的锁机制之表锁
定义 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在数据库中,除传统的计算资源(如CPU,RAM,I/O等)的争用外,数据也是一种供许多用户共享的资源,如何保证数据并发访问的一致性,有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素.从这个角度来说,锁对数据库而言现得尤其重要,也更加复杂. 按照对数据库的操作分为读锁和...原创 2018-07-20 16:35:34 · 297 阅读 · 0 评论 -
通过show status 来优化MySQL数据库
1, 查看MySQL服务器配置信息 Java代码 mysql> show variables; mysql> show variables;2, 查看MySQL服务器运行的各种状态值 Java代码 mysql> show global status; mysql> show global status;3, 慢查询 Java代码 my...转载 2018-07-20 17:41:03 · 131 阅读 · 0 评论 -
MySQL的锁机制之行锁
行锁 偏向InnoDB存储引擎,开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高. InnoDB和MyISAM的最大不同;一是支持事务(TRANSACTION,二是采用了行级锁. MySQL事务 事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性. 原子性(Atomicity)...原创 2018-07-20 19:41:31 · 2650 阅读 · 0 评论 -
Mysql 之索引优化及索引失效
1.最佳左前缀法则-如果索引了多列,要遵守最左前缀法则.指的是查询从索引的最左前列开始并且不跳过索引中的列.2.不在索引上左任何操作(计算,函数,(自动or手动)类型转换),会导致索引失效而转向全表扫描3.存储引擎不能使用索引中范围条件右边的列4.尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select*5.mysql在使用不等于(!=或者<>)的...原创 2018-07-15 16:23:00 · 769 阅读 · 0 评论 -
MySQL的锁机制之行锁2
行锁需要注意的地方 索引失效行锁变表锁 依旧是booktype表,添加索引index_bookNum给字段bookNum(varchar类型),此时数据如下 上图当我们修改bookNum为3的数据时,另一个会话修改bookNum为4的数据也是可以的,因...原创 2018-07-22 16:52:11 · 250 阅读 · 0 评论 -
Mysql迁移到Oracle
最近换了一家公司,第一天上班第一个任务就是做数据迁移,要求将Mysql数据库迁移到Oracle,一共22张表。我记得之前用Navicat做过这个,但尝试之后发现只能从Oracle迁移到Mysql,尝试了很多次都无法成功,也许有方法,但是我没有找到。于是狂搜数据迁移转换工具,但都以报错告终。曾一度想收手动转换(需要一个关键字一个关键字的改sql脚本)。就在快要放弃的时候,一个工具拯救了我,那就是Co...转载 2018-09-28 18:56:33 · 1823 阅读 · 0 评论 -
oracle 恢复误删除数据
select uat.table_name from user_all_tables uat 可以获得所有用户表的名称select object_name, created,last_ddl_time from user_objects order by last_ddl_time desc 获得所有用户对象(包括表)的创建和最后修改时间 select object_name...转载 2016-02-24 12:45:13 · 576 阅读 · 0 评论 -
PLSQL Developer连接数据库(64位操作系统)
在安装好oracle之后,经过plsql和cmd命令测试后,数据库安装无误!这个时候,继续准备安装PLSQL Develope。这个时候问题出现了!它的实例是有出现的,但是 一点击登录,账户密码绝对正确但是还是无法进入!我的做法是更改属性中的兼容性,或者以管理员身份运行!如下图:接下来继续进入,这个时候的页面又是这样的:(数据库实例读取不到)下来又是一番查看,经过反复测试,...原创 2015-12-03 13:44:15 · 2184 阅读 · 0 评论 -
win7,64位操作系统安装oracle
在刚开始学习的时候,安装oracle,自己的电脑是32位的,安装的过程中么有出现任何问题,很顺利的一次安装成功!在用plsql链接的时候也是非常顺利。在最近,在给另一台64位操作系统安装时却遇见了很多的问题。一.网络适配器的问题 这个问题是在刚开始安装的时候进行检测时出现的警告信息,提示必须将Microsoft LoopBack Adapter 配置为系统的主网络适配器,自己上网找资...原创 2015-12-02 19:15:50 · 691 阅读 · 0 评论 -
Linux离线安装redis
redis需要使用gcc的编译环境,如果是联网的情况下直接使用命令yum -y install gcc 安装。不能联网就需要离线安装了。rpm包下载地址:https://download.csdn.net/download/yjaspire/10917737注:如需各种rpm包可以从这两个个地方获取:http://mirrors.163.com/centos/6/os/x86_6...转载 2019-01-15 10:42:23 · 1449 阅读 · 2 评论 -
15分钟了解TiDB
由于目前的项目把mysql换成了TiDb,所以特意来了解下tidb。其实也不能说换,由于tidb和mysql几乎完全兼容,所以我们的程序没有任何改动就完成了数据库从mysql到TiDb的转换,TiDB 是一个分布式 NewSQL (SQL 、 NoSQL 和 NewSQL 的优缺点比较 )数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一致...转载 2019-05-08 09:49:35 · 657 阅读 · 0 评论 -
Mysql查询语句优化之索引优化案例
sql优化说到底还是索引的优化,创建索引并使之生效. 单表优化CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `stuName` varchar(60) DEFAULT NULL, `age` int(11) DEFAULT NULL, `sex` varchar(30) DEFAULT NULL,...原创 2018-07-15 08:04:13 · 255 阅读 · 0 评论 -
Mysql 之EXPLAIN详解
在mysql得使用中,查询效率低下,除cpu,io或硬件得限制外,作为java程序员我们主要关注得还是sql得优化。 使用 EXPLAIN 查看sql执行计划 它可以做什么 1.表得读取顺序 2.数据读取操作得操作类型 3.哪些索引可以使用 4.哪些索引被实际使用 5.表之间得引用 6.每张表有多少行被优化器查询id select_type table part...原创 2018-07-14 09:31:17 · 705 阅读 · 0 评论 -
mysql优化——show processlist命令详解
SHOW PROCESSLIST显示哪些线程正在运行不在mysql提示符下使用时用mysql -uroot -e 'Show processlist' 或者 mysqladmin processlist如果您有root权限,您可以看到所有线程。否则,您只能看到登录的用户自己的线程,通常只会显示100条如果想看跟多的可以使用full修饰(show full processlist...转载 2018-07-19 11:31:54 · 194 阅读 · 0 评论 -
MySQL中支持emoji表情的存储
一般来说大多数的app有的地方都会允许使用emoji键盘表情,但我们使用的mysql一般都是uft-8格式,想要存储表情需要更改对应表格式为utf8mb4windows---------------------------------- SHOW VARIABLES LIKE '%char%';ALTER DATABASE eapple CHARACTER SET = utf8mb4 COLL...转载 2018-05-15 08:01:15 · 1658 阅读 · 0 评论 -
mysql 之单表查询基础sql
建立测试表CREATE TABLE `student` ( `id` INT , `stuName` VARCHAR (60), `age` INT , `sex` VARCHAR (30), `gradeName` VARCHAR (60)); INSERT INTO `student` (`id`, `stuName`, `age`, `sex`, `gradeName`)...原创 2018-06-12 07:18:55 · 586 阅读 · 0 评论 -
Mysql之视图和触发器
定义: 1.视图是一种虚拟的表,是从数据库中一个或者多个表中导出来的表。 2.数据库中只存放了视图的定义,而并没有存放视图中的数据,这些数据存放在原来的表中。 3.使用视图查询数据时,数据库系统会从原来的表中取出对应的数据作用: 1.使操作简便化; 2.增加数据的安全性; 3.提高表的逻辑独立性;创建视图CREATE [ALGORITHM ={ UNDEFIEND | MERGE | ...原创 2018-06-23 17:24:31 · 1968 阅读 · 0 评论 -
Mysql 函数和存储过程
常用系统函数日期和时间函数1.CURDATE() 返回当前日期;2.CURTIME() 返回当前时间;3.MONTH(d) 返回日期 d 中的月份值,范围是 1~12 SELECT CURDATE(),CURTIME(),MONTH('2018-09-09') 字符串函数1.CHAR_LENGTH(ss) 计算字符串 s 的字符数;2.UPPER(s) ...原创 2018-06-24 17:53:19 · 1365 阅读 · 0 评论 -
Mysql之子查询和union
在之前的表基础上创建表CREATE TABLE `price_level` ( `id` INT , `priceLevel` INT , `price` FLOAT , `description` VARCHAR (300)); INSERT INTO `price_level` (`id`, `priceLevel`, `price`, `description`) VALUES(...原创 2018-06-17 08:10:39 · 632 阅读 · 0 评论 -
Mysql之索引
索引定义:索引是由数据库表中一列或者多列组合而成,其作用是提高对表中数据的查询速度;类似于图书的目录,方便快速定位,寻找指定的内容;优点:提高查询数据的速度;缺点:创建和维护索引的时间增加了;分类:1,普通索引这类索引可以创建在任何数据类型中,normal2,唯一性索引使用 UNIQUE 参数可以设置,在创建唯一性索引时,限制该索引的值必须是唯一的;3,全文索引使用 FULLTEXT 参数可以设置...原创 2018-06-18 08:29:11 · 138 阅读 · 0 评论 -
mysql 存储引擎和sql执行顺序
转载 2018-06-11 08:23:11 · 231 阅读 · 0 评论 -
MySQL性能优化之Block Nested-Loop Join(BNL)
一 介绍 相信许多开发/DBA在使用MySQL的过程中,对于MySQL处理多表关联的方式或者说性能一直不太满意。对于开发提交的含有join的查询,一般比较抗拒,从而建议将join拆分,避免join可能带来的性能问题,同时也增加了程序和DB的网络交互。5.5 版本之前,MySQL本身只支持一种表间关联方式,就是嵌套循环(Nested Loop)。如果关联表的数据量很大,则join关联的执行时间...转载 2018-07-18 14:14:38 · 1608 阅读 · 0 评论 -
Mysql 查询优化
优化原则:小表驱动大表,即小的数据集驱动大的数据集 建表sqlCREATE TABLE `book` ( `id` int(11) NOT NULL AUTO_INCREMENT, `bookName` varchar(20) DEFAULT NULL, `price` decimal(6,2) DEFAULT NULL, `author` varchar(20)...原创 2018-07-18 16:25:23 · 146 阅读 · 0 评论 -
Mysql 慢查询日志
Mysql 的慢查询日志是Mysql提供的一种日志记录,它用来记录在Mysql 中响应时间超过阙值的语句,具体指运行时间超过long_query_time值得sql,则会被记录到慢查询日志中.long_query_time得默认值是10,指运行10秒以上的语句. 默认情况下,Mysql数据库是没有开启慢查询日志,需要我们手动来设置这个参数.如果不是调优需要的话,一般不建议启动该...原创 2018-07-18 22:47:47 · 183 阅读 · 0 评论 -
Mysql 之 Show profile和查询日志
当我们在优化sql的时候可以使用explain来查看执行计划,可当根据执行计划优化完毕之后我们的sql的运行时间还是比较长,这时怎么办? 更细粒度的分析,show-profile,可以提高用来分析当前会话中语句执行的资源消耗情况,可以用于sql调优的测量. 官网地址 show_profile 默认情况下,处于关闭状态 ...原创 2018-07-19 04:07:25 · 593 阅读 · 0 评论 -
58到家数据库30条军规解读
一、基础规范(1)必须使用InnoDB存储引擎解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集解读:万国码,无需转码,无乱码风险,节省空间 (3)数据表、数据字段必须加入中文注释解读:N年后谁tm知道这个r1,r2,r3字段是干嘛的 (4)禁止使用存储过程、视图、触发器、Event解读:高并发大...转载 2018-07-19 10:53:50 · 188 阅读 · 0 评论 -
Mysql随手记录
ALTER TABLE USER DROP PRIMARY KEY;--删除主键ALTER TABLE USER ADD PRIMARY KEY(id);--设置主键 ALTER TABLE USER AUTO_INCREMENT = 5; --设置主键自增 SELECT LAST_INSERT_ID();--增加之前的主键id,适用于mybaties配置mapper主键自增原创 2016-05-05 19:19:59 · 421 阅读 · 0 评论