Mysql优化
小藤椅
还好还好
展开
-
索引的填充因子
创建索引时,可以指定一个填充因子,以便在索引的每个叶级页上留出额外的间隙和保留一定百分比的空间,供将来表的数据存储容量进行扩充和减少页拆分的可能性。填充因子的值是从 0 到 100 的百分比数值,指定在创建索引后对数据页的填充比例。值为 100 时表示页将填满,所留出的存储空间量最小。只有当不会对数据进行更改时(例如,在只读表中)才会使用此设置。值越小则数据页上的空闲空间越转载 2014-02-18 00:18:36 · 2121 阅读 · 0 评论 -
MySQL-索引结构详解
推荐参考:http://blog.codinglabs.org/articles/theory-of-mysql-index.html InnoDB的主键索引(Primary Key)是Cluster形式的(聚簇索引)。 InnoDB的非主键索引(Secondary Index)是普通的B+Tree索引。 两种索引在Root Node和Branch Node是一样的,在Leaf转载 2014-02-18 00:34:20 · 1173 阅读 · 0 评论 -
InnoDB表与索引结构相关知识整理
MySQL把表的数据词典信息以.frm文件的形式存在数据库目录里,所有MySQL存储引擎都是这样的。但是每个InnoDB表在表空间内的InnoDB内部数据词典里也有它自己的条目。当MySQL移除表或数据库,它不得不删除.frm文件和InnoDB数据词典内的相应条目。这就是为什么你不能在数据库之间简单地移动.frm文件来移动InnoDB表。 1. 聚集索引和第二索引 每个InnoDB有一转载 2014-02-18 00:12:28 · 678 阅读 · 0 评论 -
InnoDBd的auto_increment以及innodb_autoinc_lock_mode
InnoDB的auto_increment,类似oracle的sequence,可以自动增长,通常用于主键; auto_increment必须为索引列,其值一旦分配就不能随着相应sql的回滚而回退; 当InnoDB表创建auto_increment列时,其数据字典会分配一个auto-increment计数器,在内存中操作维护; 第一次向表插入数据时,InnoDB会执行如下语句查看列当前转载 2014-02-18 00:15:29 · 1367 阅读 · 0 评论 -
谈谈数据库的字段设计的几个心得
数据库的字段设计有很多细节性的技巧,下面将过去在开发中体会到经验整理出来,做个备忘。 tinyint 是-128到128 。当属性设置为unsigned的时候。最大值就是255了。现在知道为什么需要设置为unsigned属性了。原来是为了最大限度的使用给予的存储空间。如果不设置。那么假如你的值都是正数的。那么-128这一百多个数字就相当于是浪费了。tinyint会自动设置为tinyint(3转载 2014-02-18 00:19:19 · 2906 阅读 · 0 评论