Go! 阿里开源MySQL中间件Canal快速入门 github地址:https://github.com/alibaba/canal 原文地址:https://juejin.cn/post/6844904152733057032 Canal是什么众所周知,阿里是国内比较早地大量使用MySQL的互联网企业(去IOE化:去掉IBM的小型机、Oracle数据库、EMC存储设备,代之以自己在开源软件基础上开发的系统),并且基于阿里巴巴/淘宝的业务,从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消... MySQL 添加外键约束及参数说明 平时创建都用数据库管理软件,好久没用 SQL 语句了。下面介绍下 SQL 语句。创建:CREATE TABLE `user_relate_attr_detail` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `relate_attr_id` int(11) unsigned DEFA... mysql深入理解前缀索引 有时候需要很长的索引字符串,这样会使得索引变的很大而且很慢.通常可以索引开始的部分字符,这样可以大大节省空间提升索引效率,但这样也会降低索引的选择性.索引的选择性是指,不重复的索引值和数据表的记录总数的比值,范围从1#T到1之间.索引的选择性越高则查询效率越高,因为选择性高的索引可以让mysql在查找时过滤掉更多的行,唯一索引的选择性是1,这是最好的索引选择性,性能也是最好的. 一般情况下某个列前缀的选择性也是足够高的,足以满足查询性能.对于BLOB,TEX... MYSQL全文索引的深入理解 摘要:在开发中经常会有这样的一个功能:就是一篇文章,可能会添加多个TAG标签,而数据库设计的话通常是用一个字段来存储这些标签的,如字段名为“tag”的值为“1,3,4,5,7”这样的,用户可能会通过这些标签...在开发中经常会有这样的一个功能:就是一篇文章,可能会添加多个TAG标签,而数据库设计的话通常是用一个字段来存储这些标签的,如字段名为“tag”的值为“1,3,4,5,7”这样的,用户可能会通过这些标签来搜索相关内容,之前如果想查询标签包含1的内容的时候,用的都是 find_in_set(... MySQL 区分大小写问题(库名,表名,字段列名,数据值) 最近在开发建表中,突然想到一个问题,我可以将字段设置成大写吗?MySQL 区分大小写吗?后来做了一番实验,发现区分大小写除了和系统有关,还和你的大小写位置有关。我当前操作系统是 Linux,以下 Linux 的结论我都是亲测过的,windows 结论选自网络,大家可以动手实践下。一、MySQL 库名区分大小写吗这是我的本地库,我想在 weilin_test 库下使用 sys 库再使用 Sys 库(不存在),首字母大写结果不行。结论:Linux 下 库名在 MySQL 中是严格区分大小写的,Win... 项目中常用的19条 MySQL 优化 原文地址:https://segmentfault.com/a/1190000012155267声明一下:下面的优化方案都是基于 “ Mysql-索引-BTree类型 ” 的一、EXPLAIN做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式key_len... MySQL 常用两种存储引擎选择 (MyISAM 和 InnoDB) InnoDB和MyISAMInnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为: MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。所以从宏观来讲,事务数据库关注细节,而数据仓库关注高层次的聚集,所以,InnoDB更适合作为线上的事务处理,而MyISAM更适合作为ROLA... MySQL几种存储引擎介绍,以及适用场景 一、存储引擎Isam该引擎在包括MySQL 5.1及其以上版本的数据库中不再支持。该引擎在读取数据方面速度很快,而且不占用大量的内存和存储资源;但是 Isam 不支持事务处理、不支持外键、不能够容错、也不支持索引。Berkeley该引擎在包括MySQL 5.1及其以上版本的数据库中不再支持。该存储引擎支持COMMIT和ROLLBACK等事务特性。CSV使用该引擎的MySQL数据库表会在MySQL安装目录data文件夹中的和该表所在数据库名相同的目录中生成一个.CSV文件(所以,它可以将CSV类型... MySQL 外键约束 FOREIGN_KEY_CHECKS 启动和关闭 当我导出表时,看见了下面两句SQL,明显 FOREIGN_KEY_CHECKS 是外键校验的意思。SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; ---------------------这里是你的SQL语句----------------------- SET FOREIGN_KEY_CHECKS = 1;但是为什么要先关闭外键约束,再开启外键约束。是因... 联合索引的最左前缀原则,结合MySQL实例 下面结合 MySQL 实例说说联合索引中最左前缀原则。首先创建一张表 student,建立联合索引 name 和 sex。-- ---------------------------- -- Table structure for student -- ---------------------------- DROP TABLE IF EXISTS `student`; CREATE&n... MySQL 主要使用的几种索引 一、索引定义MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。实际上,索引也是一张表,该表保存了主键与... MySQL 时间戳方法 FROM_UNIXTIME 和 UNIX_TIMESTAMP 用法 一、FROM_UNIXTIME 含义及用法以 Laravel 为例:$data = 表名::select( DB::raw("FROM_UNIXTIME(deneralize_order.created_at,'%Y-%m-%d')as date"), DB::raw("count(distinct(order_id)) as into_count"), DB:... MySQL 中 int(11) 代表什么意思 一、前言在工作中经常要与mysql打交道,但是对mysql的各个字段类型一直都是一知半解,因此写本文总结记录一番。二、简介对于int类型的一些基础知识其实上图已经说的很明白了,在这里想讨论下常用的int(11)代表什么意思,很长时间以来我都以为这代表着限制int的长度为11位,直到有天看到篇文章才明白,11代表的并不是长度,而是字符的显示宽度,在字段类型为int时,无论你显示宽度设置为多少,int类型能存储的最大值和最小值永远都是固定的,这里贴一些原文片段The number in the pa... MySQL error 1093 报错 解决方法 今天要删除一批数据,大致意思是,删除表 A 数据,这些数据在表 A 存在,但是不在表 B 出现的数据,表 A 数据是表 B 数据父类。结果在执行 SQL 时报出 1093 错误,SQL 如下:DELETE FROM 主表 WHERE id IN ( SELECT cpxh.id AS cpxh_id FROM 表1 AS a LEFT JOIN ... MySQL 远程连接“Can't connnect to MySQL server on localhost (0)”问题解决 在我装完 iptables 防火墙后,远程数据库的时候报错了,如下。并且 PHPmyadmin 也无法访问。但是当防火墙关闭的时候就又可以联通了,service iptables stop 。很显然,和防火墙有关。因为防火墙关闭了 3306 端口,外面无法访问这个端口号了。我们需要配置 iptables,让3306端口对外开放。解决方法:一、修改配置文件vi /etc/sysconfig/iptables-A INPUT -m state –state NEW -m tcp ... 姓名:程成
建站日期:2017-01-20
文章数量:273
访问量:507950