Mysql 知识点记录

InnoDB MyISAM都是使用B-tree索引,只是两者实现方式不太一样,InnoDB 使用了聚簇索引的数据结构也称为B+tree,而MyISAM并没有。 explain 返回的 Extra 中包含 Using index 即表示使用索引覆盖查询(InnoDb、MyISAM都存在)。 explain 放回的 Extra 中包含 Using where是即表明在存储引擎把数据返回给 MySQL 服务器后再应用 Where 里的条件过滤行。这样就会导致存储引擎返回的数据比实际需要的多,就会导致额外的行被锁。 InnoDB索引中,覆盖查询要考虑主键的情况,即使索引中不包含主键,而查询包含索引中

MySQL
发布于 5年前

高性能MySQL阅读笔记(1)--- 数据类型

整数类型 MySQL 包含以下几种整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT,分别使用8,16,24,32,64位存储空间。他们可以存储的范围为-2^(n-1)到2^(n-1)-1,其中 n 是存储空间位数。 整数类型有可选的 UNSIGNED 属性,表示不允许负数,这大致可以使正数的上限提升一倍,2^n - 1。有符号和无符号的使用相同的存储空间,并且具有相同的性能。 MySQL 可以为正数指定宽度,例如INT(11),对大多数应用没有意义,它不会限制值得合法范围,只是规定了 MySQL 的一些交互工具用来展示字符的个数而已。对于存储和计算来说 IN

MySQL
发布于 5年前

高性能MySQL阅读笔记(0)--- 选择优化的数据类型

MySQL支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。不管存储哪种数据类型,下面几个简单的原则都有助于做出更好的选择。 更小的通常更好 一般情况下,尽可能使用可以正确存储数据的最小数据类型。更小的数据类型通常更快,因为他们占用的更少的磁盘、内存和CPU缓存,处理时需要的CPU周期更少。 简单最好 简单的数据类型的操作通常需要更少的CPU周期。例如整数比字符操作代价更低,因为字符集和校对规则使字符串比较比整型更复杂。 两个实际使用中的例子,一个是使用MySQL内置的类型而不是字符串存储时间,另一个是使用整型而不是字符串存储IP。 尽量避免NULL 很多表都包含可为 NULL

MySQL
发布于 5年前
  • 1
  • 2