摘要:一、优化查询 1.使用索引,避免全表扫描。 2.优化SQL语句。 3.优化数据库对象。 1)拆分表 (1)垂直拆分:把主键和一些列放在一个表中,然后把主键和另外的列放在另一个表中。如果一个表中某些列常用,而另外一些不常用。如果一个表中某些列常用,而另外一些不常用,则 可以采用垂直拆分。 (2)水平拆
阅读全文
摘要:一、视图 视图:从一个或几个基本表(或视图)导出的表,是要给虚表。数据库中只存放视图的定义,不存放视图对应的数据,这些数据仍存放在原来的基本表中。所以基本表中的数据发生变化,从视图中查询出的数据也随之改变。 建立视图:CREATE VIEW <视图名>(列名,列名) AS <子查询> 【子查询不允许
阅读全文
摘要:事务:用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability)。 ACID特性:https://www.cnblogs.com/me
阅读全文
摘要:关系模型组成:关系数据库,关系操作集合,关系完整性约束。 关系的三类完整性约束: (1)实体完整性(必须) 若属性A是基本关系R的主属性,则A不能取空值。 检查和违约处理: 1)检查主码值是否唯一,如果不唯一则拒绝插入或修改。 2)检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改。 (2)
阅读全文
摘要:乐观锁 VS 悲观锁 1)悲观锁:就是很悲观,每次去拿数据的时候都认为别人会修改, 所以每次在拿数据的时候都会上锁。这样别人想拿这个数据就会 block 直到它拿到锁。传统的关系型数据库就用到了很多这种机制,比如行锁,写锁等,都是在操作之前上锁。 实现:Synchronized, lock 适用于并
阅读全文
摘要:通俗简单:http://blog.csdn.net/xluren/article/details/32746183 文字比较:http://www.cnblogs.com/yuan-shuai/p/3225417.html 树形解释:http://www.cnblogs.com/shijingxia
阅读全文
摘要:一、常用引擎 1.MyIsam 不支持事务,高性能,查询速度快,不支持外键,支持全文索引,允许没有主键,内置一个计数器,count(*)可以直接返回行数,不用遍历,MySQL默认存储引擎。 采用表级锁,开销小,加锁快,不会出现死锁,锁定粒度最大,发生锁冲突的概率最高,并发度最低。 采用非聚簇索引。
阅读全文
摘要:http://www.cnblogs.com/chyong168/archive/2011/12/19/2293482.html,http://blog.csdn.net/shendl/article/details/1790933
阅读全文
摘要:DECIMAL(N,M)中M是小数部分的位数,若插入的值未指定小数部分或者小数部分不足M位则会自动补到M位小数,若插入的值小数部分超过了M为则会发生截断,截取前M位小数。 N是整数部分加小数部分的总长度,也即插入的数字整数部分不能超过N-M位,否则不能成功插入,会报超出范围的错误。
阅读全文