DB
文章平均质量分 94
MayMatrix
J2EE .
展开
-
**select加锁分析(Mysql)
目录前言 基础知识 InnoDB 锁类型 意向锁存在的目的? 加锁算法 快照读和当前读 分析 RC/RU+条件列非索引 RC/RU+条件列是聚簇索引 RC/RU+条件列是非聚簇索引 RR/Serializable+条件列非索引 RR/Serializable+条件列是聚簇索引 RR/Serializable+条件列是非聚簇索引 史上最全的select加锁分析(Mysql)前言大家在面试中有没遇到面试官问你下面六句Sql的区别呢sele转载 2022-03-01 11:37:24 · 691 阅读 · 0 评论 -
mysql环境RR隔离级别转换成RC的问题
RR隔离级别增加了间隙锁,避免了幻读,并且阻止了不可重复读,让同一个事务里面的查询和修改都是一致的.mysql默认的隔离级别就是RR. 虽然说RC隔离级别在同一个事务内会存在查询出不同数据的现象,但是这些数据都必然是提交过的,是真实存进硬盘的数据.所以也不用过分担忧,而且RC隔离级别反而降低了锁粒度,也不是毫无用处.oracle和sql server默认的隔离级别类似RC. 所以说也不是说RC就绝对不好,要看场景来选择,而这里只是简介,不打算深入. 操作流程说明:因系统高并发下,存在多个会话可能同..转载 2022-02-15 16:09:16 · 713 阅读 · 0 评论 -
MySQL 中隔离级别 RC 与 RR 的区别
1. 数据库事务ACID特性数据库事务的4个特性:原子性(Atomic):事务中的多个操作,不可分割,要么都成功,要么都失败; All or Nothing.一致性(Consistency):事务操作之后, 数据库所处的状态和业务规则是一致的; 比如a,b账户相互转账之后,总金额不变;隔离性(Isolation):多个事务之间就像是串行执行一样,不相互影响;持久性(Durability):事务提交后被持久化到永久存储.2. 隔离性其中隔离性分为了四种:READ UNCOMMIT...转载 2022-02-15 16:05:36 · 2319 阅读 · 0 评论 -
MYSQL索引之B+Tree
首先,正确的创建合适的索引,是提升数据库查询性能的...转载 2020-04-17 14:07:29 · 232 阅读 · 0 评论 -
MySQL 数据库性能优化之索引优化
大家都知道索引对于数据访问的性能有非常关键的作用,都知道索引可以提高数据访问效率。为什么索引能提高数据访问性能?他会不会有“副作用”?是不是索引创建越多,性能就越好?到底该如何设计索引,才能最大限度的发挥其效能?这篇文章主要是带着上面这几个问题来做一个简要的分析,同时排除了业务场景所带来的特殊性,请不要纠结业务场景的影响。索引为什么能提高数据访问性能?很多人只知道索转载 2016-07-19 15:30:02 · 431 阅读 · 0 评论 -
Oracle 字符集的查看和修改
一、什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。 影响Oracle数据库字符集最重要的参数是NLS_LANG参数。它的格式如下:转载 2016-01-29 16:24:22 · 311 阅读 · 0 评论 -
Mysql占用CPU过高如何优化,如何解决
Mysql占用CPU过高如何优化一次生产DB服务器的 超负荷运行问题解决:1.查看生产DB服务器top列表,执行 top 命令 查看Cpu(s) 参数一直处于 98% 状态 ,load average达到了 5 (4核服务器)可见DB已经超负荷运行了2.使用root用户登录mysql 执行 show full processli转载 2016-01-12 17:19:35 · 41319 阅读 · 0 评论 -
Mysql代理中间件 Atlas 安装和配置
标签:atlas 代理 mysql mysql_proxy这两天在学习mysql的读写分离和负载均衡,尝试了主从模式和mysql cluter,最后还是选择了一主多从,然后读写分离,这比较适合读量大的网站。然后对于mysql的负载均衡器,起先尝试了一下SQL请求路由器 Amoeba,读写分离不错,但是不支持事务,因为我测试的网站是采取spring mvc+hiberna转载 2016-01-11 17:08:15 · 1967 阅读 · 0 评论 -
Mysql 查看连接数 状态等参数
命令: show processlist; 如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。 show processlist;只列出前100条,如果想全列出请使用show full processlist; mysql> show processlist; 命令: show status;命令:show status转载 2016-01-08 16:29:04 · 558 阅读 · 0 评论 -
mysql 导出导入数据库以及函数、存储过程
导出函数:用的最多的还是数据备份——全表导出包括函数和存储过程1.单库导出 包括函数/视图/存储过程mysqldump -hxxxx -uroot -pxxx -P3306 -R --default-character-set=utf8 hb > hb20151117.sql --导出hb库包括函数/视图/存储过程将导出的sql文件拷贝另外转载 2015-12-23 10:15:25 · 5977 阅读 · 0 评论 -
高性能Mysql主从架构的复制原理及配置详解
温习《高性能MySQL》的复制篇.1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础。将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的。复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个转载 2016-01-06 15:20:27 · 498 阅读 · 0 评论 -
RPM方式安装MySQL5.6
CentOS6.5和RedHat6.5下以rpm方式安装mysql-5.6.20安装参照:a.检查下linux是不是已经安装了mysqlrpm -qa | grep -i mysql#如果安装了先卸载旧的版本 yum -y remove mysql...b.下载需要的安装包,下载地址:http://cdn.mysql.com/Downloads/M转载 2016-01-05 18:04:44 · 575 阅读 · 0 评论 -
MySQL 用户权限
查看用户权限show grants for你的用户;show grants forroot@'localhost';show grants forwebgametest@10.3.18.158;showcreatedatabase dbname; 这个可以看到创建数据库时用到的一些参数。 show转载 2015-11-30 10:11:24 · 444 阅读 · 0 评论 -
mysql备份还原(视图、存储过程)
最近在备份还原mysql的时候发现,视图还原报错,无法创建视图,在网上查了下资料,找到以下信息:1、如果备份的数据库含有视图,还原时需要把my.ini中的character-set改为latin1,才能够还原视图。2、还原后,需要把latin1改为gb2312,否则存储过程不能使用.3、存储过程不能随着数据库备份,对于存储过程的还原,还是通过手工复制SQL语句,在QUERY里执行。转载 2015-11-17 23:05:42 · 844 阅读 · 0 评论 -
web系统从oracle迁移至MySql oracle数据迁移至MySql
web程序迁移,数据库迁移,原来的系统是用的oracle数据库,现在要改成MySql,当时没多想就接下来了,原来的系统用的框架式SSI,于是大概想了下需要作调整无非以下几点第一 数据库迁移第二 应用程序的修改下面详细来说下这个过程一 数据库迁移简单那的来说就是把oracle数据库里面的所有数据都迁移到MySql,这个可以用MySQLMigrat转载 2016-01-29 23:06:41 · 473 阅读 · 0 评论 -
MySQL数据类型格式及长度
数值类型 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补。 表列出了各种数值类型以及它们的允许范围和占用的内存空间。 类转载 2016-04-07 10:53:31 · 1894 阅读 · 0 评论 -
MySQL 的各存储引擎特点-MySQ 存储引擎选择
前言MySQL 的存储引擎可能是所有关系型数据库产品中最具有特色的了,不仅可以同时使用多种存储引擎,而且每种存储引擎和MySQL之间使用插件方式这种非常松的耦合关系。由于各存储引擎功能特性差异较大,这篇文章主要是介绍如何来选择合适的存储引擎来应对不同的业务场景。 MyISAM1.特性 不支持事务:MyISAM存储引擎不支持事务,所以对事务有要求的业务场景不能使用转载 2016-07-19 15:24:58 · 381 阅读 · 0 评论 -
Oracle查看用户所在的表空间
oracle 查看表空间有哪些表select * from dba_tables where tablespace_name='表空间名',注意表空间名大小写敏感。select table_name,tablespace_name from user_tables;查看当前用户的缺省表空间 SQL>select username,default_t转载 2017-04-10 16:02:14 · 34755 阅读 · 0 评论 -
【MySQL】悲观锁&乐观锁
【MySQL】悲观锁&乐观锁 概念:观锁与乐观锁是两种常见的资源并发锁设计思路,也是并发编程中一个非常基础的概念。本文将对这两种常见的锁机制在数据库数据上的实现进行比较系统的介绍。悲观锁(Pessimistic Lock)悲观锁的特点是先获取锁,再进行业务操作,即“悲观”的认为获取锁是非常有可能失败的,因此要先确保获取锁成功再进行业务操作。通常所说的“一锁二查三更新转载 2017-02-10 10:09:00 · 2270 阅读 · 0 评论 -
mysql死锁-查询锁表进程-分析锁表原因
查询锁表进程:1、查询是否锁表show OPEN TABLES where In_use > 0; 2、查询进程 show processlist 查询到相对应的进程===然后 kill id 补充:查看正在锁的事务SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 查看等待锁的事务S转载 2016-12-12 19:14:17 · 17234 阅读 · 0 评论 -
mysql常用函数汇总-2
字符串函数ASCII(str) 返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql> select ASCII('2'); -> 50 mysql> select ASCII(2); -> 50 mysql> select ASCII('dete'); -> 100 ORD(str)转载 2016-11-18 10:17:00 · 334 阅读 · 0 评论 -
mysql常用函数汇总
一、数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e(自然对数的底)的x次方FLOOR(x) 返回小于x的最大整数值GREATEST(x1,x2,...,xn)返回集合中最大的值LEAST(x1,x2,...,xn) 返转载 2016-11-18 10:14:14 · 253 阅读 · 0 评论 -
MySQL FEDERATED引擎使用示例, 类似Oracle DBLINK.
MySQL FEDERATED引擎使用示例, 类似Oracle DBLINK.转载 2016-10-10 16:36:02 · 420 阅读 · 0 评论 -
MySQL 数据库性能优化之缓存参数优化
在平时被问及最多的问题就是关于 MySQL 数据库性能优化方面的问题,所以最近打算写一个MySQL数据库性能优化方面的系列文章,希望对初中级 MySQL DBA 以及其他对 MySQL 性能优化感兴趣的朋友们有所帮助。这是 MySQL数据库性能优化专题 系列的第一篇文章:MySQL 数据库性能优化之缓存参数优化数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工转载 2016-07-19 15:36:16 · 5193 阅读 · 0 评论 -
MySQL 数据库性能优化之表结构优化
很多人都将 数据库设计范式 作为数据库表结构设计“圣经”,认为只要按照这个范式需求设计,就能让设计出来的表结构足够优化,既能保证性能优异同时还能满足扩展性要求。殊不知,在N年前被奉为“圣经”的数据库设计3范式早就已经不完全适用了。这里我整理了一些比较常见的数据库表结构设计方面的优化技巧,希望对大家有用。由于MySQL数据库是基于行(Row)存储的数据库,而数据库操作 IO 的时候是以转载 2016-07-19 15:33:40 · 367 阅读 · 0 评论 -
MySQL 数据库性能优化之SQL优化
有人反馈之前几篇文章过于理论缺少实际操作细节,这篇文章就多一些可操作性的内容吧。注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础优化目标减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需转载 2016-07-19 15:27:54 · 354 阅读 · 0 评论 -
MySQL的information_schema的介绍
MySQL的information_schema的介绍大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个 information_schema数据库。information_schema数据库是做什么用的呢,使用WordPress博客的朋友可能会想,是不是安装模板添加的数据库呀?看完本片文章后,你就会对information_schema数据库有所了转载 2015-11-18 16:48:43 · 323 阅读 · 0 评论 -
Mysql主从服务器原理及配置
一 主从配置的原理 mysql的Replication是一个异步的复制过程,从一个mysql instance(Master)复制到另一个mysql instance(Slave), 在master与slave之间的整个复制过程主要由三个线程完成,分别为Master端得IO线程和Slave端得IO线程和Sql线程。整 个过程如下: 1 Slave上的IO线程连接上Mas转载 2015-08-25 10:39:26 · 1666 阅读 · 0 评论 -
mysql配置优化(windows下my.ini)
转自http://hi.baidu.com/cwm_win/item/916117281fad2887ae48f526 优化mysql数据库性能的十个参数(转)(1)、max_connections:允许的同时客户的数量。增加该值增加 mysqld 要求的文件描述符的数量。这个数字应该增加,否则,你将经常看到 too many connections 错误。 默转载 2015-10-08 11:30:26 · 323 阅读 · 0 评论 -
[MySQL] 主流存储引擎介绍
看你的mysql现在已提供什么存储引擎:mysql> show engines;看你的mysql当前默认的存储引擎:mysql> show variables like '%storage_engine%';你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):mysql> show create table 表名;转载 2015-08-26 17:19:47 · 1260 阅读 · 0 评论 -
mysql中的coalesce用法
在mysql中,其实有不少方法和函数是很有用的,这次介绍一个叫coalesce的,拼写十分麻烦,但其实作用是将返回传入的参数中第一个非null的值,比如 SELECT COALESCE(NULL, NULL, 1); -- Return 1 SELECT COALESCE(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1)转载 2015-08-26 16:21:51 · 433 阅读 · 0 评论 -
在MySQL中如何为连接添加索引
http://hackmysql.com/case4译文:我先通过一个简单的例子说明在MySQL中如何为连接添加索引,然后再看一个有挑战性的例子。简单的3个表的连接表结构很简单,3个表tblA, tblB, tblC,每个表有3个字段:col1, col2, col3。在没有索引的情况下连接3个表SELECT * FROM tblA,转载 2015-08-26 11:47:23 · 294 阅读 · 0 评论 -
EXPLAIN sql优化方法2 Using temporary ; Using filesort
优化GROUP BY语句 默认情况下,MySQL对所有GROUP BY col1,col2...的字段进行排序。这与在查询中指定ORDER BY col1,col2...类似。因此,如果显式包括一个包含相同的列的ORDER BY子句,则对MySQL的实际执行性能没有什么影响。 如果查询包括GROUP BY 但用户想要避免排序结果的消耗,则可以指定ORDER By NULL禁止排序,转载 2015-08-26 10:36:05 · 693 阅读 · 0 评论 -
mysql索引操作(增删查)
查看索引mysql> show index from tblname;mysql> show keys from tblname;· Table表的名称。· Non_unique如果索引不能包括重复词,则为0。如果可以,则为1。· Key_name索引的名称。· Seq_in_index索引中的列序列号,从1开始。· Column_name列名称。转载 2015-08-25 11:58:25 · 571 阅读 · 0 评论 -
mysql 数据库性能优化方案
网上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用 status信息对mysql进行具体的优化。mysql> show global status; 可以列转载 2015-08-25 10:49:35 · 410 阅读 · 0 评论 -
数据库 三范式的解释
关系数据库的几种设计范式介绍1、第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实转载 2015-08-25 10:23:22 · 617 阅读 · 0 评论 -
MySQL数据库事务隔离级别(Transaction Isolation Level)
数据库隔离级别有四种,应用《高性能mysql》一书中的说明: 然后说说修改事务隔离级别的方法:1.全局修改,修改mysql.ini配置文件,在最后加上1 #可选参数有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.2 [mysqld]3 transaction-isolation转载 2015-08-24 10:03:44 · 339 阅读 · 0 评论 -
MySQL SELECT FOR UPDATE语句使用示例
以MySQL 的InnoDB 为例,预设的Tansaction isolation level 为REPEATABLE READ,在SELECT 的读取锁定主要分为两种方式:SELECT ... LOCK IN SHARE MODE SELECT ... FOR UPDATE这两种方式在事务(Transaction) 进行当中SELECT 到同一个数据表时,都必须等待其它事务数据被提交(C转载 2015-08-24 10:02:29 · 1486 阅读 · 0 评论 -
Oracle 判断某個字段的值是不是数字
壹共有三种方法,分别是使用 to_number()、regexp_like() 和 translate() 三种函数来进行匹配。如果字段的值是数字,返回1,否则返回0,具体的实现如下,三种方法任选壹种即可。运行结果:如果字符串是数字格式则返回1,不是则返回0。 1. 利用 to_numberCREATE OR REPLACE FUNCTION isnumeric (str IN V转载 2015-05-28 11:43:06 · 6955 阅读 · 0 评论 -
Oracle中快速删除某个用户下的所有表数据 禁用所有外键
Oracle中快速删除某个用户下的所有表数据一、禁止所有的外键约束在pl/sql developer下执行如下语句:SELECT 'ALTER TABLE ' || table_name || ' disable CONSTRAINT ' || constraint_name || ';' FROM user_constraints where CONSTR转载 2014-11-25 15:19:08 · 3083 阅读 · 0 评论