Mysql
文章平均质量分 51
FeelTouch Labs
这个作者很懒,什么都没留下…
展开
-
java.sql.SQLException: txn too large, size: 104857606.
在tidb中尝试一次性删除了太多数据,超过了单个事务的总大小限制。减少每次删除的条数,从而降低tx的总的大小。原创 2024-08-19 12:05:29 · 233 阅读 · 0 评论 -
执行一条 SQL 查询语句,期间发生了什么?
索引下推后,虽然 reward 列无法使用到联合索引,但是因为它包含在联合索引(age,reward)里,所以直接在存储引擎过滤出满足 reward = 100000 的记录后,才去执行回表操作获取整个记录。相比于没有使用索引下推,节省了很多回表操作。当你发现执行计划里的 Extr 部分显示了 “Using index condition”,说明使用了索引下推。原创 2024-08-13 19:35:05 · 141 阅读 · 0 评论 -
Mysql中的笔试和面试---Mysql InnoDB读锁深入分析
引用:Locking ReadsSELECT ... FOR UPDATE英文版If you query data and then insert or update related data within the same transaction, the regularSELECTstatement does not give enough protection. Oth...原创 2020-02-27 01:07:27 · 312 阅读 · 0 评论 -
Mysql中的笔试和面试---Mysql进行数据分布统计经典专用SQL
1. 数据库建表语句CREATE TABLE `start_duration` ( `id` bigint(13) NOT NULL AUTO_INCREMENT COMMENT '自增id', `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '事件名称', `devic...原创 2019-06-04 00:58:17 · 3744 阅读 · 1 评论 -
Mysql中的笔试和面试---delete attempted to return null from a method with a primitive return type (int)问题解决
抛出问题今天服务上线后,检查线上日志,发现如下错误:org.apache.ibatis.binding.BindingException: Mapper method 'org.system.mapper.child.ChmOrganizationExaminationMapper.delete attempted to return null from a method with a ...原创 2020-04-27 22:10:16 · 663 阅读 · 0 评论 -
一文搞明白MySQL聚簇索、回表、索引覆盖、最左匹配、索引下推和优化分析热点技术
Table of Contents一、聚集索引(Clustered Index)和非聚集索引(SecondaryIndex)二、回表三、索引覆盖四、联合索引底层结构和查询过程五、最左前缀匹配六、索引下推七、基于explain分析sql并印证结论八、参考MySQL主流的版本默认引擎是InnoDB,InnoDB中索引结构为B+树,为什么使用B+树?寻址次数少且查询...原创 2020-04-26 00:48:58 · 821 阅读 · 0 评论 -
一款更加高效和小巧的Mysql 客户端工具mycli在CentOS安装和使用
通常思路是,如果需要在客户端安装需要安装mysql,这个一个相对比较重的的功能了,而且安装起来也比较繁杂,下面推荐的mycli更叫轻量和友好第一步:安装python-pipyum install -y python-pip第二步:安装安装myclipip install mycli第三步:开始使用mycli -h127.0.0.1 -uroot -p'654321...原创 2019-12-17 18:59:32 · 787 阅读 · 0 评论 -
MySQL中使用DATE、DATETIME、TIMESTAMP总结
mysql-connector-java的版本和mysql的版本需要配套使用,例如5.6.4之前的版本,就最好不要使用mysql-connector-java的5.1.23之后的版本,否则就可能会遇到我们这次遇到的问题。 MySQL中用来表示时间的字段类型有:DATE、DATETIME、TIMESTAMP,它们之间有相同点,各自也有自己的特性,我总结了一个表格,如下所示: ...转载 2019-12-08 00:17:59 · 414 阅读 · 0 评论 -
Mysql 中ON DUPLICATE KEY UPDATE 正确使用姿势
ON DUPLICATE KEY UPDATE 语法的目的是为了解决重复性,当数据库中存在某个记录时,执行这条语句会更新它,而不存在这条记录时,会插入它。注意点1:我们使用该语句的时候注意这条语句判断该条记录是否存在的标准是什么?由于同一个值是可以同时出现在多个记录中的,所以必须有个字段是唯一不能重复的。注意点2:规则如果你插入的记录导致一个UNIQUE索引或者primary ...原创 2019-09-26 01:14:30 · 2501 阅读 · 0 评论 -
Mysql单机性能认知
查询主键查询: 千万级别数据 == 1-10 ms唯一索引查询: 千万级别数据 == 10-100 ms非唯一索引查询: 千万级别数据 == 100-1000ms无索引数据: 百万级别数据 == 1000ms+MySQL 数据库 TPS 容量问题:更新非插入的更新删除操作: 同查询插入操作: 1w~10w tps(依赖配置优化)...原创 2019-09-26 01:08:10 · 3631 阅读 · 1 评论 -
Ubuntu18.04下安装MySQL
提示:以下操作均在root权限下进行。# 查看有没有安装MySQL:dpkg -l | grep mysql# 安装MySQL:apt install mysql-server安装完成之后可以使用如下命令来检查是否安装成功:netstat -tap | grep mysql通过上述命令检查之后,如果看到有 mysql 的socket处于 LISTEN 状态则表示安装...转载 2019-09-05 15:23:05 · 1178 阅读 · 2 评论 -
Mysql中的笔试和面试---从B+树原理图看其与B树的区别
1.2.3.原创 2019-08-30 23:49:40 · 897 阅读 · 0 评论 -
Mysql利用Like支持根据匹配度进行查询
方式一:直接利用replace进行SELECT * FROM `people` WHERE namess LIKE '%999%' ORDER BY REPLACE(namess,'999','');方式二:对length(replace())进行select *, (length(phone_number)-length('999')) as rn from treasure_lottery_...原创 2018-07-10 00:18:47 · 3491 阅读 · 0 评论 -
MyBatis模糊查询LIKE
1.表达式: name like"%"#{name}"%"==> Preparing: select * from bbs_brand WHERE namelike"%"?"%"and falg=? limit 0 , 10==>Parameters: 999(String), 1(Integer) 2.表达式: name like '%${name}%'Preparing:sele...原创 2018-07-10 00:32:30 · 586 阅读 · 0 评论 -
MySQL两种存储引擎: MyISAM和InnoDB 简单总结
转自:https://www.cnblogs.com/kevingrace/p/5685355.htmlMyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了I...转载 2019-01-07 12:10:12 · 271 阅读 · 0 评论 -
Spring Series---事务中JDBC是否自动提交解析
自动提交默认情况下,数据库处于自动提交模式。每一条语句处于一个单独的事务中,在这条语句执行完毕时,如果执行成功则隐式的提交事务,如果执行失败则隐式的回滚事务。对于正常的事务管理,是一组相关的操作处于一个事务之中,因此必须关闭数据库的自动提交模式。不过,这个我们不用担心,spring会将底层连接的自动提交特性设置为false。org/springframework/jdbc/dataso...转载 2019-03-25 01:00:09 · 1367 阅读 · 0 评论 -
架构系列---饿了么MySQL异地多活的数据双向复制
陈永庭,饿了么框架工具部高级架构师,主要负责MySQL异地双向数据复制,支撑饿了么异地多活项目。曾就职于WebEx、Cisco、腾讯等公司。今天我主要分享饿了么多活的底层数据实施,会和大家介绍在整个多活的设计和实施过程中我们是怎么处理异地数据同步的,而这个数据同步组件在我们公司内部称之为DRC。异地多活背景在讲DRC或者讲数据复制之前,先跟大家回顾一下异地多活的背景。去年我...原创 2019-04-09 00:45:12 · 25194 阅读 · 2 评论 -
Mysql中的笔试和面试---常见面试题问与答
1. 主键外键主 键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。外 键:在一个表中存在的另一个表的主键称此表的外键。2.数据库事务的四个特性及含义数据库事务transanction正确执行的四个基本要素。ACID,原子性(Atomicity)、一致性(Correspondence...转载 2019-05-07 22:58:42 · 403 阅读 · 0 评论 -
Mysql中的笔试和面试---20个经典面试题
另外附上:最全MySQL面试60题和答案1、MySQL的复制原理以及流程基本原理流程,3个线程以及之间的关联;1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;3. 从:sql执行线程——执行...转载 2019-05-07 23:01:59 · 900 阅读 · 0 评论 -
Mysql语句查找指定重复记录和删除重复记录仅保留一条【亲测可以】
对于脏数据,除了通过程序来修复,也可以通过mysql本身来修复。问题一:查找指定组合字段的重复记录SELECT *FROM tb_teacher aWHERE (a.user_id, a.create_time) IN ( SELECT user_id, create_time FROM tb_teacher WHERE type = 3 GROU...原创 2018-06-05 00:24:46 · 3666 阅读 · 0 评论