数据库前缀索引
2015-07-27 22:28
218 查看
有时需要索引很长的字符列,它会使索引变大并且变慢。一个策略就是模拟哈希索引。但是有时这也不够好,那么应该怎么办呢?通常可以索引开始的几个字符,而不是全部值,以节约空间并得到好的性能。这使索引需要的空间变小,但也会降低选择性。索引选择性(INDEX
SELECTIVITY)是不重复的索引值(也叫基数(Cardinality))和表(#T)中所有行的比值,它的值在1/#T和1之间。高选择性的索引有好外,因为它使MYSQL在查找匹配的时候可以过滤掉更多的行,唯一索引的选择率为1,为最佳值。矛盾在于选择足够长的前缀会得到好的选择性,但是短的前缀会节约空间。为了决定好的前缀长度,须找到最常见的值,以及最赏常见的前缀进行对比。
SELECTIVITY)是不重复的索引值(也叫基数(Cardinality))和表(#T)中所有行的比值,它的值在1/#T和1之间。高选择性的索引有好外,因为它使MYSQL在查找匹配的时候可以过滤掉更多的行,唯一索引的选择率为1,为最佳值。矛盾在于选择足够长的前缀会得到好的选择性,但是短的前缀会节约空间。为了决定好的前缀长度,须找到最常见的值,以及最赏常见的前缀进行对比。
相关文章推荐
- mysql错误处理
- Andoid Sqlite 增查
- MHA很简单 mysql5.6.25
- mysql 存储过程时间月份减法
- oracle中INSTR函数的用法
- 数据库事务(写得比较到位)
- mongodb(一)-入门
- Redis使用介绍
- 助手系列之连接mysql数据库
- 数据库索引简介
- memcache操作
- 谈谈Oracle基本操作(下)
- 关于电商数据库使用之Oracle与MySQL
- sqlite3的基本用法
- 关于SQLServer数据库的问题
- PLSQL Developer常用设置及快捷键
- mysql中Access denied for user 'root'@'localhost' (using password:YES)
- NoSql——mongoDB(分片)
- Mysql 根据日期分组查询
- [转]MySQL创建用户与授权方法