![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
写代码的小森森
上若善水
展开
-
关于业务主键和逻辑主键
定义(部分定义来源于 SQL Server 联机丛书):主键(PRIMARY KEY):表通常具有包含唯一标识表中每一行的值的一列或一组列。这样的一列或多列称为表的主键 (PK),用于强制表的实体完整性。外键(FOREIGN KEY):外键 (FK) 是用于建立和加强两个表数据之间的链接的一列或多列。在外键引用中,当一个表的列被引用作为另一个表的主键值的列时,就在两表之间创建了转载 2017-05-31 13:35:56 · 1325 阅读 · 0 评论 -
使用batch insert解决MySQL的insert吞吐量问题
最近使用了一个非常简单易用的方法解决了业务上的一个insert吞吐量的问题,在此总结一下。 首先我们明确一下,insert吞吐量其实并不是指的IPS(insert per second),而是指的RPS(effect rows per second)。其次我们再说一下batch insert,其实顾名思义,就是批量插入。这种优化思想是很基本的,MySQL中最出名的应用就是group c...转载 2017-06-22 10:00:42 · 16025 阅读 · 0 评论 -
1分钟了解MyISAM与InnoDB的索引差异
《数据库索引,到底是什么做的?》介绍了B+树,它是一种非常适合用来做数据库索引的数据结构:(1)很适合磁盘存储,能够充分利用局部性原理,磁盘预读;(2)很低的树高度,能够存储大量数据;(3)索引本身占用的内存很小;(4)能够很好的支持单点查询,范围查询,有序性查询; 数据库的索引分为主键索引(Primary Inkex)与普通索引(Secondary Index)。Inno...转载 2018-09-10 10:04:46 · 225 阅读 · 0 评论 -
InnoDB,select为啥会阻塞insert?
MySQL的InnoDB的细粒度行锁,是它最吸引人的特性之一。 但是,如《InnoDB,5项最佳实践》所述,如果查询没有命中索引,也将退化为表锁。 InnoDB的细粒度锁,是实现在索引记录上的。 一,InnoDB的索引InnoDB的索引有两类索引,聚集索引(Clustered Index)与普通索引(Secondary Index)。 InnoDB的每一个表都会...转载 2018-09-10 10:05:56 · 244 阅读 · 0 评论 -
超赞,InnoDB调试死锁的方法!
近期写了不少InnoDB锁相关的文章,不少小伙伴问,如何在MySQL终端模拟并发事务,如何复现之前文章中的案例。今天,咱们一起动起手来,模拟并发事务的互斥与死锁。 【事前准备】 安装MySQL服务端 安装MySQL客户端 安装能够模拟多个并发事务的终端 画外音:楼主使用的是MySQL5.6,官方客户端mysql,模拟并发终端用的SecureCRT。 【...转载 2018-09-10 10:21:19 · 559 阅读 · 0 评论