摘要: MyISAM表支持空间索引,可以用作地理数据存储。它和B-Tree索引不同,这类索引无需前缀查询。 空间索引会从所有维度来索引数据,查询时可以有效地使用任意维度来组合查询。 必须使用MySQL的GIS即地理信息系统的相关函数来维护数据,但MySQL对GIS的支持并不完善,因此大部分人都不会使用这个特 阅读全文
posted @ 2021-07-06 23:45 Eleanor123 阅读(367) 评论(0) 推荐(1) 编辑
摘要: 哈希索引基于哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码,哈希码是一个较小值,并且不同的键值的行计算出的哈希码也不一样。哈希索引将所有的哈希码存储在索引中,同时在哈希表中保存指向每个数据行的指针。 只有memory引擎显式支持哈希索引,这也 阅读全文
posted @ 2021-07-06 23:40 Eleanor123 阅读(130) 评论(0) 推荐(1) 编辑
摘要: innoDB是MySQL的默认事务型引擎,用来处理大量短期事务。innoDB的性能和自动崩溃恢复特性使得它在非事务存储需求中也很流行,除非有特别原因否则应该优先考虑InnoDB。 innoDB的数据存储在表空间,表空间由一系列数据文件组成。MySQL4.1以后innoDB可以将每个表的数据和索引放在 阅读全文
posted @ 2021-07-06 23:30 Eleanor123 阅读(125) 评论(0) 推荐(1) 编辑
摘要: 死锁指的是多个事务在同一资源上相互占用并请求锁定对方占用的资源而导致恶性循环的现象。当多个事务试图以不同顺序锁定资源时可能就会产生死锁,多个事务同时锁定同一个资源也会产生死锁。 为了解决死锁问题,数据库系统实现了死锁检测和死锁超时机制。 越复杂的系统,例如InnoDB存储引擎,越能检测到死锁的循环依 阅读全文
posted @ 2021-07-06 23:16 Eleanor123 阅读(551) 评论(0) 推荐(1) 编辑
摘要: 索引也叫键,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能很关键,尤其是当表中数据量越来越大时,索引对于性能的影响越来重要。在数据量小且负载较低时,不恰当的索引对性能的影响可能还不明显,但数据量逐渐增大时,性能会急剧下降。 索引大大减少了服务器需要扫描的数据量,可以帮助服务器避免排序和 阅读全文
posted @ 2021-07-06 00:38 Eleanor123 阅读(313) 评论(0) 推荐(1) 编辑
摘要: 1、更小的通常更好 一般尽量使用可以正确存储数据的最小数据类型,更小的数据类型通常更快,因为占用的磁盘更少,内存和CPU缓存更小。 2、尽量简单 简单的数据类型操作需要的CPU周期更少,例如整数比字符操作代价更低,因为字符集合校对规则使字符相比整型更复杂。应该使用MySQL的内建类型date、tim 阅读全文
posted @ 2021-07-06 00:31 Eleanor123 阅读(91) 评论(0) 推荐(1) 编辑