随笔分类 -  mysql

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) 评论(1) 推荐(0)
MySQL数据库分表分区(一)(转)
摘要:面对当今大数据存储,设想当mysql中一个表的总记录超过1000W,会出现性能的大幅度下降吗?答案是肯定的,一个表的总记录超过1000W,在操作系统层面检索也是效率非常低的解决方案:目前针对海量数据的优化有两种方法:1、大表拆小表的方式(主要有分表和分区两者技术)(1)分表技术垂直分割优势:降低高并发情况下,对于表的锁定。不足:对于单表来说,随着数据库的记录增多,读写压力将进一步增大。水平分割如果单表的IO压力大,可以考虑用水平分割,其原理就是通过hash算法,将一张表分为N多页,并通过一个新的表(总表),记录着每个页的的位置。假如一个门户网站,它的数据库表已经达到了1000万条记录,那么此时 阅读全文
posted @ 2014-03-25 17:58 外星猿 阅读(564) 评论(0) 推荐(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) 推荐(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) 推荐(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) 推荐(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) 推荐(0)
MySQL索引背后的数据结构及算法原理(转)
摘要:摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。第二部分结合MySQL数据库中MyISAM和InnoDB数据存储引擎中索引的架构实现讨论聚集索引、非聚集索引及覆盖索引等话题。第三部分根据上面 阅读全文
posted @ 2014-02-24 00:26 外星猿 阅读(213) 评论(0) 推荐(0)