
数据库
文章平均质量分 68
星月的雨
这个作者很懒,什么都没留下…
展开
-
表分区与分区表取舍
基本来说, 分区和分表带来的性能提升是一样的,由于分区实际上就可以认为是mysql底层来帮我们实现分表的逻辑了, 所以相对来说分表会比分区带来更高的编码复杂度(分区就根本不用考虑多表分页查询的问题了).从这个角度来说, 一般的业务直接分区就可以了.当然, 选择分区还是分表还是需要做一点权衡的:1. 表中的数据只有部分热点数据经常访问, 其他的不常访问的话, 适合用分区表2. 分区表相对容易维护, 可以针对单独一个分区进行检查,优化, 批量删除大量数据时, 分区表会比一般的表更快3. 分区表转载 2020-07-08 10:24:58 · 2261 阅读 · 0 评论 -
MySQL 和PostgreSQL对比
MySQL和PostgreSQL是开源中用的最多的2个。一、两者的共同优势 这两个产品都属于开放源码的一员,性能和功能都在高速地提高和增强。MySQL AB的人们和PostgreSQL的开发者们都在尽可能地把各自的数据库改得越来越好,所以对于任何商业数据库使用其中的任何一个都不能算是错误的选择。 二、两者不同的背景 MySQL的背后是一个成熟的商业公司,而PostgreSQL的...转载 2019-12-04 15:34:32 · 792 阅读 · 0 评论 -
InnoDB介绍
InnoDB是事务安全的mysql存储引擎,也是mysql的默认存储引擎,特点是行锁设计、支持MVCC、支持外键、提供一致性非锁定读。同时也被设计用来最有效地利用以及使用内存和CPU。1. InnoDB逻辑存储结构从InnoDB存储引擎的逻辑存储结构来看,所有数据都被逻辑地存放在一个空间中,称之为表空间。表空间依次由段(segment)、区(extent)、页(page)组成。页有时候也叫...转载 2019-07-13 09:41:57 · 1680 阅读 · 0 评论 -
Mysql 5.6 5.7 8.0改动
5.6在 MySQL 5.5 发布两年后,Oracle 宣布 MySQL 5.6 正式版发布,首个正式版版本号为 5.6.10。在 MySQL 5.5 中使用的是 InnoDB 作为默认的存储引擎,而 5.6 则对 InnoDB 引擎进行了改造,提供全文索引能力,使 InnoDB 适合各种应用场景。此外,子查询的性能提升也是 MySQL 5.6 的主要任务之一,5.6 中使用一种半连接(s...原创 2019-07-13 11:17:12 · 4445 阅读 · 0 评论 -
Mysql单表大量数据优化
批量插入300W数据,由于Innodb默认支持事物导致插入速度缓慢,先修改为MyISAMCREATE DEFINER=`root`@`localhost` PROCEDURE `proc_auto_insertdata`()BEGIN DECLARE init_data INTEGER DEFAULT 1; WHILE ...原创 2020-05-26 13:52:49 · 695 阅读 · 0 评论 -
MySQL 5.7 中文全文检索使用教程
在MySQL 5.7.6之前,全文索引只支持英文全文索引,不支持中文全文索引,需要利用分词器把中文段落预处理拆分成单词,然后存入数据库。从MySQL 5.7.6开始,MySQL内置了ngram全文解析器,用来支持中文、日文、韩文分词。本文使用的MySQL 版本是5.7.22,InnoDB数据库引擎。ngram全文解析器ngram就是一段文字里面连续的n个字的序列。ngram全文解析器能...转载 2019-07-17 20:42:00 · 454 阅读 · 0 评论 -
主流Java数据库连接池分析(C3P0,DBCP,TomcatPool,BoneCP,Druid)
主流数据库连接池常用的主流开源数据库连接池有C3P0、DBCP、Tomcat Jdbc Pool、BoneCP、Druid等C3p0: 开源的JDBC连接池,实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate、Spring等。单线程,性能较差,适用于小型系统,代码600KB左右。DBCP (Database Connectio...转载 2019-07-31 16:25:53 · 294 阅读 · 0 评论