自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奋斗吧_-小青年

所谓专家,就是在极小领域内犯过所能犯的全部错误的人

  • 博客(9)
  • 资源 (3)
  • 收藏
  • 关注

转载 Mysql 插入记录时检查记录是否已经存在,存在则更新,不存在则插入记录SQL

我们在开发数据库相关的逻辑过程中, 经常检查表中是否已经存在这样的一条记录, 如果存在则更新或者不做操作, 如果没有存在记录,则需要插入一条新的记录。这样的逻辑固然可以通过两条sql语句完成。SELECT COUNT(*) FROM xxx WHERE ID=xxx;if (x == 0) INSERT INTO xxx VALUES;else UPDATE xxx SET ;但是

2016-11-22 15:28:36 2462

转载 SELECT * ...... FOR UPDATE 锁机制

由于InnoDB预设是Row-Level Lock,InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQL与Oracle不同,后者是通过在数据块中对相应数据行加锁来实现的。InnoDB这种行锁实现特点意味着:只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁! 举个例子: 假设有个表单products ,里面有id跟name二个栏位,id是主键。 例

2016-11-22 14:57:36 7965

原创 理解MySQL——索引与优化

写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),则

2016-11-22 14:45:39 419

转载 MySQL中myisam和innodb的主键索引有什么区别?

MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。下图是MyISAM索引的原理图: 这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyISAM表的主索引(Primary key)示意。可以看出MyISAM的索引文件仅仅保存数据记录的地址。在MyISAM中,主索引和辅助索引(Secondary key)在结构上没有任何区别,只是主索引要求key是

2016-11-22 10:10:48 841

原创 MySql 5.7解压版配置

1、解压缩 将下载到的文件解压缩到自己喜欢的位置,假设安装目录为D:\mysql 2、添加环境变量 右键计算机->属性->高级系统设置->环境变量;找到path,选择编辑,在原有值末尾添加:D:\mysql\bin 3、添加配置文件 在MySQL的安装目录(D:\mysql)下,建立新文本文件txt,并将其命名为my.ini(注意扩展名也要修改)。双击打开该文件,并在其中添

2016-11-21 08:58:37 458

原创 Merge存储引擎

对于数据量很大的一张表,i/o效率底下,分表势在必行!使用程序分,对不同的查询,分配到不同的子表中,是个解决方案,但要改代码,对查询不透明。好在mysql 有两个解决方案:Partition(分区,在MySQL 5.1.中实现) 和 Mysql Merge存储引擎。本文讨论 Mysql Merge存储引擎。DROP TABLE IF EXISTS merge_t1;CREATE TABLE mer

2016-11-16 11:47:49 507

原创 Mysql的with rollup(5.1以上版本)

使用 GROUP BY 的 WITH ROLLUP 字句可以检索出更多的分组聚合信息,它不仅仅能像一般的 GROUP BY 语句那样检索出各组的聚合信息,还能检索出本组类的整体聚合信息。RollUp是上卷功能,类似于数据挖掘中的上卷操作。ROLLUp的功能和Order by功能是互斥的。GROUPBY子句允许使用WITH ROLLUP,从而使额外的行被添加到输出的结果。这些行代表上级(或超总量

2016-11-15 20:18:44 1025

转载 MySQL临时表的简单用法

当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后在这些表运行查询。创建临时表很容易,给正常的CREATE TABLE语句加上TEMPORARY关键字: CREATE TEMPORARY TABLE tmp_table ( name VAR

2016-11-04 13:57:37 8108

原创 MySQL中NULL和空值的区别

平时我们在使用MySQL的时候,对于MySQL中的NULL值和空值区别不能很好的理解。注意到NULL值是未知的,且占用空间,不走索引,DBA建议建表的时候最好设置字段是NOT NULL 来避免这种低效率的事情的发生。问题 1: 首先,我们需要搞清楚 “空值” 和”NULL”的概念: 1:空值(”)是不占用空间的 2: MySQL中的NULL其实是占用空间的。官方文档说明:

2016-11-04 11:57:20 11081 1

JVisualVM进行性能分析中,jconsole需要的jtop插件

JVisualVM进行性能分析中,jconsole需要的jtop插件,jdk1.8可用

2018-05-08

hadoop2.7.3的eclipse插件及环境

hadoop2.7.3的eclipse插件及winutils.exe等所有的需要的环境文件,亲测可用

2017-04-08

chkconfig.deb

在ubuntu上安装chkconfig命令

2017-01-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除