![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
qq_43193797
github:https://github.com/yanjie666
展开
-
canal工作原理
canal的下载路径https://github.com/alibaba/canal/releases配置vim conf/canal.properties这个文件是canal的基本通用配置,主要关心一下端口号,不改的话默认就是11111vim conf/example/instance.propertiesinstance.properties是针对要追踪的mysql的实例配置启动canal ./bin/startup.shbinlog开启在mysql的配置..原创 2020-05-10 22:17:29 · 269 阅读 · 0 评论 -
binlog三种模式的区别(row,statement,mixed)
binlog模式分三种(row,statement,mixed)1.Row日志中会记录成每一行数据被修改的形式,然后在slave端再对相同的数据进行修改,只记录要修改的数据,只有value,不会有sql多表关联的情况。优点:在row模式下,bin-log中可以不记录执行的sql语句的上下文相关的信息,仅仅只需要记录那一条记录被修改了,修改成什么样了,所以row的日志内容会非常清楚的记录下每一行数据修改的细节,非常容易理解。而且不会出现某些特定情况下的存储过程和function,以及trigger的调用原创 2020-05-10 22:11:07 · 331 阅读 · 0 评论 -
电商网站数据库常见表结构设计
商品列表页(loading)事件名称:loading 标签 含义 action 动作:开始加载=1,加载成功=2,加载失败=3 loading_time 加载时长:计算下拉开始到接口返回数据的时间,(开始加载报0,加载成功或加载失败才上报时间) loading...原创 2019-04-03 20:11:02 · 5444 阅读 · 0 评论 -
常见电商数据库表结构
订单表(order_info) 标签 含义 id 订单编号 total_amount 订单金额 order_status 订单状态 user_id 用户id payment_way...原创 2019-04-07 12:26:20 · 9759 阅读 · 1 评论 -
聚集索引和非聚集索引的区别?分别在什么情况下使用?
聚集索引和非聚集索引的根本区别是表中记录的物理顺序和索引的排列顺序是否一致聚集索引的表中记录的物理顺序与索引的排列顺序一致优点是查询速度快,因为一旦具有第一个索引值的记录被找到,具有连续索 引值的记录也一定物理的紧跟其后。缺点是对表进行修改速度较慢,这是为了保持表中的记录的物理顺序与索引 的顺序一致,而把记录插入到数据页的相应位置,必须在数据页中进行数据重排,降低了执行速度。在插入新记...原创 2019-03-16 10:54:43 · 7050 阅读 · 0 评论 -
性别字段为什么不适合加索引?从 B+树原理解释。
尽量选择区分度高的字段作为索引,区分度的公式是 count(distinct col)/count(*),表示 字段不重复的比例,比例越大我们扫描的记录数越少,唯一键的区分度是 1,而一些状态、 性别字段可能在大数据面前区分度就是 0。在性别字段上增加索引,并不能明显加快检索 速度...原创 2019-03-16 10:00:15 · 5517 阅读 · 1 评论 -
常见数据库SQL查询优化----应付面试
一. 单表查询order byorder by 字段建立索引的前提是where后的字段也建立了索引(避免出现Using filesort)group bygroup by 可以建立索引,并不需要where后的字段建立索引(避免出现Using temporary)where a = 3 and b > 4 and c = 5使用到a和b, c不能用在范围之后,b断了...原创 2018-12-26 11:54:06 · 264 阅读 · 0 评论 -
数据库SQL语句练习及答案
CREATE TABLE `t_dept` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR(30) DEFAULT NULL, `address` VARCHAR(40) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT ...原创 2018-12-25 20:16:03 · 4130 阅读 · 0 评论 -
数据库查询优化之排序分组优化
where 条件和 on的判断这些过滤条件,作为优先优化的部门,是要被先考虑的!其次,如果有分组和排序,那么也要考虑grouo by 和order by。1. order by 无过滤不索引 create index idx_age_deptid_name on emp (age,deptid,name); explain select * from emp wh...原创 2018-12-25 18:45:27 · 980 阅读 · 0 评论 -
数据库查询优化之子查询优化
1. 案例取所有不为掌门人的员工,按年龄分组!select age as '年龄', count(*) as '人数' from t_emp where id not in (select ceo from t_dept where ceo is not null) group by age;如何优化?①解决dept表的全表扫描,建立ceo字段的索引:此时,再...原创 2018-12-25 18:36:55 · 312 阅读 · 0 评论 -
数据库查询优化之关联查询优化
1. 建表语句CREATE TABLE IF NOT EXISTS `class` (`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,`card` INT(10) UNSIGNED NOT NULL,PRIMARY KEY (`id`));CREATE TABLE IF NOT EXISTS `book` (`bookid` INT(10...原创 2018-12-25 18:30:39 · 678 阅读 · 0 评论 -
数据库查询优化之单表SQL优化
1. 全值匹配我最爱1.1 有以下SQL语句 EXPLAIN SELECT SQL_NO_CACHE * FROM emp WHERE emp.age=30 EXPLAIN SELECT SQL_NO_CACHE * FROM emp WHERE emp.age=30 and deptid=4 EXPLAIN SELECT SQL_NO_CACHE * FROM emp WHER...原创 2018-12-25 18:18:27 · 1650 阅读 · 0 评论 -
mysql查询优化之Explain性能分析
1. 概念使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。用法: Explain+SQL语句。Explain执行后返回的信息:2. Explain准备工作CREATE TABLE t1(id INT(10) AUTO_INCREMENT,content VARCHAR(100)...原创 2018-12-25 11:58:09 · 728 阅读 · 0 评论 -
Mysql逻辑架构简介
1. 整体架构图和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。各层介绍:1.1 连接层 最上层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于...原创 2018-12-24 23:45:04 · 410 阅读 · 0 评论 -
分布式锁的几种实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致...转载 2018-12-23 13:24:27 · 138 阅读 · 0 评论 -
数据库sql语句优化
为什么要优化: 随着实际项目的启动,数据库经过一段时间的运行,最初的数据库设置,会与实际数据库运行性能会有一些差异,这时我们 就需要做一个优化调整。数据库优化这个课题较大,可分为四大类:》主机性能》内存使用性能》网络传输性能》SQL语句执行性能【软件工程师】下面列出一些数据库SQL优化方案:(01)选择最有效率的表名顺序(笔试常考) 数据库的解析器按照从右到左...原创 2018-12-14 19:44:10 · 214 阅读 · 0 评论