Mysql join 算法原理
摘要:转载自:https://zhuanlan.zhihu.com/p/54275505 了解join 算法原理之前你可能还需要了解: mysql索引原理:勤劳的小手:平衡二叉树、B树、B+树、B*树 理解其中一种你就都明白了 Simple Nested-Loop Join(简单的嵌套循环连接) 简单来说
阅读全文
posted @
2019-12-31 10:54
hi_rain
mongodb导入导出数据
摘要:导出数据 bin/mongoexport -h 10.255.55.179 -utest -ptest -d test -c interface_config -q '{$and :[{systemCode: "test"}]}' -o test.json 导入数据 bin/mongoimport
阅读全文
posted @
2019-06-11 11:50
hi_rain
B树
摘要:转载自:http://blog.jobbole.com/111757/
阅读全文
posted @
2017-10-18 11:47
hi_rain
B树和B+树的区别
摘要:转载自:http://www.cnblogs.com/ivictor/p/5849061.html 如图所示,区别有以下两点: 1. B+树中只有叶子节点会带有指向记录的指针(ROWID),而B树则所有节点都带有,在内部节点出现的索引项不会再出现在叶子节点中。 2. B+树中所有叶子节点都是通过指针
阅读全文
posted @
2017-10-18 11:45
hi_rain
mongodb学习笔记
摘要:mongodb分组查询: mongodb聚合查询 mongodb mapreduce查询
阅读全文
posted @
2017-05-18 10:34
hi_rain
linux下mysql5.7默认编码解决方案
摘要:.sudo gedit /etc/MySQL/mysql.conf.d/mysqld.cnf [mysqld] character_set_server=utf8 重启MySQL服务 service mysql restart
阅读全文
posted @
2016-11-18 18:17
hi_rain
Ubuntu16.04安装mongodb
摘要:参考:http://blog.csdn.net/zhushh/article/details/52451441 1、导入软件源的公钥 2、为mongodb创建软件源list文件 ubuntu12.04 ubuntu14.04 ubuntu16.04 3、启动停止命令 4、mongodb的完卸载 5、
阅读全文
posted @
2016-10-20 18:28
hi_rain
Mysql innodb 间隙锁 (转)
摘要:MySQL InnoDB支持三种行锁定方式:行锁(Record Lock):锁直接加在索引记录上面。间隙锁(Gap Lock):锁加在不存在的空闲空间,可以是两个索引记录之间,也可能是第一个索引记录之前或最后一个索引之后的空间。Next-Key Lock:行锁与间隙锁组合起来用就叫做Next-Key...
阅读全文
posted @
2015-12-24 14:53
hi_rain
MYSQL加锁分析(转)
摘要:转载自:http://hedengcheng.com/?p=771#_Toc374698313MVCC:Snapshot Read vs Current ReadMySQL InnoDB存储引擎,实现的是基于多版本的并发控制协议——MVCC (Multi-Version Concurrency Co...
阅读全文
posted @
2015-12-24 14:44
hi_rain
mysql探究之null与not null
摘要:相信很多用了mysql很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问:1、我字段类型是not null,为什么我可以插入空值2、为毛not null的效率比null高3、判断字段不为空的时候,到底要 select * from table where column '' 还是要用 ...
阅读全文
posted @
2015-07-16 00:07
hi_rain
把excel数据生成sql insert语句
摘要:转载自:http://www.cnblogs.com/jacktang/articles/1986250.htmlexcel表格中有A、B、C三列数据,希望导入到数据库users表中,对应的字段分别是name,sex,age 。在你的excel表格中增加一列,利用excel的公式自动生成sql语句,...
阅读全文
posted @
2015-06-04 15:43
hi_rain
Mysql 锁
摘要:myISAM和MEMORY存储引擎采用的是表级锁table-level locking死锁所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等竺的进程称为死锁进程.表级锁不...
阅读全文
posted @
2015-04-15 18:08
hi_rain
Innodb中的事务隔离级别和锁的关系(转)
摘要:转载自:http://tech.meituan.com/innodb-lock.html我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,...
阅读全文
posted @
2015-04-15 17:29
hi_rain
最左前缀原则(转)
摘要:转载自:http://yuri-liuyu.iteye.com/blog/979508通过实例理解单列索引、多列索引以及最左前缀原则实例:现在我们想查出满足以下条件的用户id:mysql>SELECT `uid` FROM people WHERElname`='Liu' AND`fname`='Z...
阅读全文
posted @
2015-04-08 10:36
hi_rain
聚集索引和非聚集索引
摘要:聚簇索引与非聚簇索引的区别 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 在聚集索引中,表中行的物理顺序与键值的逻辑(索引)
阅读全文
posted @
2015-04-03 15:57
hi_rain
MySQL索引背后的数据结构及算法原理(转载)
摘要:MYSQL索引数据结构请参考如下链接: http://blog.codinglabs.org/articles/theory-of-mysql-index.html 外存储器—磁盘介绍: 计算机存储设备一般分为两种:内存储器(main memory)和外存储器(external memory)。 内
阅读全文
posted @
2015-04-03 15:35
hi_rain
Mysql中 in or exists not exists not in区别 (网络整理)
摘要:in 和or区别:如果in和or所在列有索引或者主键的话,or和in没啥差别,执行计划和执行时间都几乎一样。如果in和or所在列没有 索引的话,性能差别就很大了。在没有索引的情况下,随着in或者or后面的数据量越多,in的效率不会有太大的下降,但是or会随着记录越多的话性能下降 非常厉害 因此在给i...
阅读全文
posted @
2015-04-03 10:14
hi_rain
MySQL 之 性能优化(转载)
摘要:性能优化是通过某些有效的方法来提高MySQL的运行速度,减少占用的磁盘空间。性能优化包含很多方面,例如优化查询速度,优化更新速度和优化MySQL服务器等。本文介绍方法的主要有:优化查询优化数据库结构优化MySQL服务器 数据库管理人员可以使用SHOW STATUS语句来查询MySQL数据库的性能...
阅读全文
posted @
2015-03-05 16:19
hi_rain
MySQL 之 内存表和临时表(转载)
摘要:mysql5.5性能优化-内存表 内存表分为2种,但共同点是,重起数据库以后,内存中的数据全部丢失,内存表的功能有部分的限制,有些属性不能像正常表一样使用,所以请大家使用的时候谨慎参照官方文档.下面只是抛砖引玉.1.临时表:表建在内存里,数据在内存里2.内存表:表建在磁盘里,数据在内存里其中包括2个...
阅读全文
posted @
2015-03-05 16:18
hi_rain
MySQL 之 explain(转载)
摘要:转载自:http://www.cnblogs.com/magialmoon/p/3439042.html最近慢慢接触MySQL,了解如何优化它也迫在眉睫了,话说工欲善其事,必先利其器。最近我就打算了解下几个优化MySQL中经常用到的工具。今天就简单介绍下EXPLAIN。内容导航idselect_ty...
阅读全文
posted @
2015-03-05 10:30
hi_rain