Easter79 Easter79
4年前
t
为什么需要锁在任何多用户的数据库中,必须有一套用于数据修改的一致的规则,当两个不同的进程试图同时修改同一份数据时,数据库管理系统(DBMS)负责解决它们之间潜在的冲突。任何关系数据库必须支持事务的ACID属性,所以在开始了解锁之前,首先简单了解一下数据库事务和事务的ACID属性。原子性(Atomicity):原子性意味着数据
京东面试官:呦,你对中间件 Mycat了解的还挺深~
1.数据切分概念数据的切分根据其切分规则的类型,可以分为两种切分模式。一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)(https://jq.qq.com/?wv1027&k0IsBuUb0)之上,这种切可以称之为数据的垂直(纵向)切分;另外一则是根据表中的数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多台数据库(主机)上面,这种切
Karen110 Karen110
4年前
SQL性能优化策略之索引优化方法
「数仓宝贝库」,带你学数据!导读:SQL优化是优化工作中经常会涉及的问题,由于早期的开发人员往往只关注于SQL功能的实现,而忽略了性能。特别是复杂的SQL,上线之后很少修改,一旦出现问题,即使是当初的开发人员自己也很难理清其中的业务逻辑,需要花费大量的时间去理解代码之间的关系,最终可能还是感觉无从下手。因此开发人员前期应做好代码注释,避免编写过于复杂的SQL
Stella981 Stella981
4年前
Python并发编程之深入理解yield from语法(八)
大家好,并发编程进入第八篇。直到上一篇,我们终于迎来了Python并发编程中,最高级、最重要、当然也是最难的知识点协程。当你看到这一篇的时候,请确保你对生成器的知识,有一定的了解。当然不了解,也没有关系,你只要花个几分钟的时间,来看下我上一篇文章,就能够让你认识生成器,入门协程了。再次提醒:本系列所有的代码均在
Wesley13 Wesley13
4年前
Go语言内存管理(一)内存分配
Go语言内存管理(一)内存分配golang作为一种“高级语言”,也提供了自己的内存管理机制。这样一方面可以简化编码的流程,降低因内存使用导致出现问题的频率(C语言使用者尤其是初学者应该深有体会),对程序猿友好。另一方面也可以减少内存相关系统调用,提升性能。先了解下内存管理大致策略:申请一块较大的地址空间(虚拟内存),用于内存分配及管
Wesley13 Wesley13
4年前
VoltDB 简介
简介过去几年来,出现了一种称为NoSQL的新型数据库管理系统。设计这些数据存储是为了克服在扩展传统关系数据库来处理一些应用程序时必须处理的数据负载类型的难题,比如说Amazon。这种可伸缩性的实现需要一定的代价:NoSQL系统通常不符合ACID(原子性、一致性、隔离和耐久性);它们最终一致地表明,只要给定一定量的时间,所有数据更新最终都会
Wesley13 Wesley13
4年前
C#委托和事件
0\.前言事件和委托是C中的高级特性,也是C中很有意思的一部分。出现事件的地方,必然有委托出现;而委托则不一定会有事件出现。那为什么会出现这样的关系呢?这就需要从事件和委托的定义出发,了解其中的内在。1\.委托说起委托,就不得不回忆一下之前在Linq篇中介绍的匿名方法,其中提到了Func和Action这两个类型
Wesley13 Wesley13
4年前
3D摄象机小结
根据DX摄象机D3DXMatrixLookAtRH(LH)摄象机主要有lookat坐标、eye坐标、up向量3部分组成,按照lookat和eye的关系我个人将摄象机分成2类:第一种lookat绕eye旋转我称他为“第一人称”摄象机;第二种eye绕lookat旋转我称他为“第三人称”摄象机。第二种摄象机比较适合一般的RPG游戏,也被称为跟随摄象机。第一种摄象机
Stella981 Stella981
4年前
JVM总结
重载与重写在Java程序里,如果同一个类中出现多个名字相同,并且参数类型相同的方法,那么它无法通过编译。也就是说,在正常情况下,如果我们想要在同一个类中定义名字相同的方法,那么它们的参数类型必须不同。这些方法之间的关系,我们称之为重载。重载的方法在编译过程中即可完成识别。具体到每一个方法调用,Java编译器会根据所传入参数的声明类型
codigger codigger
6小时前
简析:一种名为 ObjectSense 的编程语言
让我们通过以下三个维度来了解它:1.语言本质与起源基础平台:它是一种基于VimScript(VimL)进行面向对象封装的脚本编程语言。核心特性:高度精炼,核心代码仅在千行之内。设计初衷:旨在让开发者能像写Python一样简洁地编写代码,并用于构建Super