场景: 产品表数据量较大想用Guid做表的主键,并在此字段上建立聚簇索引。 因为Guid是随机生成的,生成的值大小是不确定的,每次生成的数可能很大,也可能很小。这样会影响插入的效率 1.NEWSEQUENTIALID和newid()的区别 NEWSEQUENTIALID() 和 NEWID()都可以 ...
分类:
数据库 时间:
2016-12-03 20:44:49
阅读次数:
532
数据库的索引能快速访问数据表中的信息,索引好比书的目录,能加快我们的查询速度。索引又分为聚簇索引和非聚簇索引,聚簇索引能提高对多行的查询速度,而非聚簇索引对于单行的查询很快。 可在数据库中创建三种索引:唯一索引、主键索引、聚集索引。 唯一索引:唯一索引是不允许表中任何两行具有相同索引值的索引 主键索 ...
分类:
数据库 时间:
2016-12-03 00:46:41
阅读次数:
210
今天我们来聊一聊关于 聚簇索引和非聚簇索引的问题; 刚开始学数据库SQL的时候,就知道有主键啊(Primary-key),外键啊(Foreign-key)啥的,连个表查询就已经不清楚是要on 那几个字段了,在数据量不太大的情况下,根本不会考虑索引的问题了,然后,随着大数据时代的到来,数据量大了,没有 ...
分类:
其他好文 时间:
2016-11-19 15:40:14
阅读次数:
216
对于索引优化真的是门课题,先来研究下最平常的问题,innodb引擎下 怎么让count(*)快一点。 首先需要清楚 innodb 默认是对主键建立聚簇索引,如果没有主键,那就是对具有唯一且非空值的索引来代替,如果也没有,innodb内部就会自己维护一个这样的索引。 聚簇索引存的是索引+数据,二级索引 ...
分类:
数据库 时间:
2016-06-17 14:19:20
阅读次数:
223
先来看看什么是书签查找: 当优化器所选择的非聚簇索引只包含查询请求的一部分字段时,就需要一个查找(lookup)来检索其他字段来满足请求。对一个有聚簇索引的表来说是一个键查找(key lookup),对一个堆表来说是一个RID查找(RID lookup)。这种查找即是——书签查找。 书签查找根据索引 ...
分类:
数据库 时间:
2016-06-14 11:59:02
阅读次数:
226
MySql内存结构
InnoDB主索引是聚簇索引,索引与数据共用表空间,对于InnoDB而言,数据就是索引,索引就是数据。InnoDB缓存机制和MyISAM缓存机制的最大区别就是在于,InnoDB不仅仅是缓存索引,还会缓存数据。InnoDB缓存池
InnoDB缓存池(InnoDB buffer pool)是InnoDB性能提升的核心,它既可以缓存数据还可以缓存索引,甚至其他管理数据(例如元数据...
分类:
数据库 时间:
2016-06-12 03:32:58
阅读次数:
391
我们先来了解MYSQL索引的概念:索引是一种特殊的文件,他们包含着对数据表里所有记录的引用指针。更通俗地说,数据库索引好比是是一本书前面的目录,能加快数据库的查询速度,我们有了相应的索引后,数据库会直接在索引中查找符合条件的选项。索引分为聚簇索引和非聚簇索引两种..
分类:
数据库 时间:
2016-06-10 23:17:01
阅读次数:
210
聚簇索引:表数据按照索引的顺序来存储的,也就是说索引项的顺序与表中记录的物理顺序一致。对于聚簇索引,叶子结点即存储了真实的数据行,不再有另外单独的数据页。在一张表上最多只能创建一个聚簇索引,因为真实数据的物理顺序只能有一种,查找到索引就是查找到数据,所以速度快..
分类:
其他好文 时间:
2016-06-08 17:15:06
阅读次数:
194
1 背景 1 1.1 MVCC:Snapshot Read vs Current Read 2 1.2 Cluster Index:聚簇索引 3 1.3 2PL:Two-Phase Locking 3 1.4 Isolation Level 4 2 一条简单SQL的加锁实现分析 5 2.1 组合一: ...
分类:
数据库 时间:
2016-05-30 23:12:39
阅读次数:
218
优化顺序:
选择适当的引擎和表结构和数据类型建立索引,优化sql。增加缓存,redis、memcache。主从、主主,读写分离。mysql自带分区表根据业务耦合垂直拆分,分布式数据库水平拆分,选择合理的sharding key。
引擎区别与选择:
Innodb采用聚簇索引,聚簇索引包含data。辅助索引(复合索引、前缀索引、唯一索引)存储的是主索引的值,所以查找时...
分类:
数据库 时间:
2016-05-27 11:17:35
阅读次数:
204