MySQL之存储引擎InnoDB和MyISAM的区别及底层详解(转)
摘要:题外话:中华文化博大进深,从学Java到数据库,无一不体现出同一组件鱼和熊掌不可兼得的要义。自然,编程中安全和效率也很难同时做到完美,这一次InnoDB和MyISAM又让我大开眼界。 好了,Talk is cheap,show you the code: 测试环境:Mysql 5.7.20-log,
阅读全文
posted @
2019-06-24 23:13
外星猿
阅读(3314)
推荐(0)
MySQL数据库分表分区(一)(转)
摘要:面对当今大数据存储,设想当mysql中一个表的总记录超过1000W,会出现性能的大幅度下降吗?答案是肯定的,一个表的总记录超过1000W,在操作系统层面检索也是效率非常低的解决方案:目前针对海量数据的优化有两种方法:1、大表拆小表的方式(主要有分表和分区两者技术)(1)分表技术垂直分割优势:降低高并发情况下,对于表的锁定。不足:对于单表来说,随着数据库的记录增多,读写压力将进一步增大。水平分割如果单表的IO压力大,可以考虑用水平分割,其原理就是通过hash算法,将一张表分为N多页,并通过一个新的表(总表),记录着每个页的的位置。假如一个门户网站,它的数据库表已经达到了1000万条记录,那么此时
阅读全文
posted @
2014-03-25 17:58
外星猿
阅读(564)
推荐(0)
SHOW PROFILE
摘要:show profile是由Jeremy Cole捐献给MySQL社区版本的。默认的是关闭的,但是会话级别可以开启这个功能。开启它可以让MySQL收集在执行语句的时候所使用的资源。为了统计报表,把profiling设为1mysql> SET profiling = 1;之后在运行一个查询mysql> SELECT COUNT(DISTINCT actor.first_name) AS cnt_name, COUNT(*) AS cnt-> FROM sakila.film_actor-> INNER JOIN sakila.actor USING(actor_id)-&
阅读全文
posted @
2014-03-25 16:55
外星猿
阅读(273)
推荐(0)
mysql 性能优化方案 (转)
摘要:source:http://www.open-open.com/lib/view/open1330065251640.html网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用 status信息对mysql进行具体的优化。mysql> show global status; 可以列出mysql服务器运行各种状态值,另外,查询mysql服务器配置信息语句:mysql> s
阅读全文
posted @
2014-03-25 16:29
外星猿
阅读(207)
推荐(0)
Java 连接池的工作原理
摘要:什么是连接?连接,是我们的编程语言与数据库交互的一种方式。我们经常会听到这么一句话“数据库连接很昂贵“。有人接受这种说法,却不知道它的真正含义。因此,下面我将解释它究竟是什么。[如果你已经知道了,你可以跳到它的工作原理部分]创建连接的代码片段:1String connUrl ="jdbc:mysql://your.database.domain/yourDBname";2Class.forName("com.mysql.jdbc.Driver");3Connection con = DriverManager.getConnection (connUrl
阅读全文
posted @
2014-03-13 16:56
外星猿
阅读(289)
推荐(0)
B*树索引结构和内部管理(转)
摘要:文章转自:http://www.cnblogs.com/adslg/archive/2012/06/23/2559206.html 感谢作者的分享摘要:本文对B树索引的结构、内部管理等方面做了一个全面的介绍。同时深入探讨了一些与B树索引有关的广为流传的说法,比如删除记录对索引的影响,定期重建索引能解决许多性能问题等。1.B树索引的相关概念 索引与表一样,也属于段(segment)的一种。里面存放了用户的数据,跟表一样需要占用磁盘空间。只不过,在索引里的数据存放形式与表里的数据存放形式非常的不一样。在理解索引时,可以想象一本书,其中书的内容就相当于表里的数据,而书前面的目录就相当于该表的索引。同
阅读全文
posted @
2014-02-24 15:05
外星猿
阅读(381)
推荐(0)
MySQL索引背后的数据结构及算法原理(转)
摘要:摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。第二部分结合MySQL数据库中MyISAM和InnoDB数据存储引擎中索引的架构实现讨论聚集索引、非聚集索引及覆盖索引等话题。第三部分根据上面
阅读全文
posted @
2014-02-24 00:26
外星猿
阅读(213)
推荐(0)