有时候需要为字段创建索引时,但是字段太长,为整个字段创建索引的话,太浪费存储空间了,所以需要计算出字段区分度,选择合适的索引长度。

计算字段文本区分度的公式:

select  COUNT(DISTINCT left(column_name,length))/COUNT(*) from table_name

其中column_name是需要建立索引的字段,而length则是选择这个字段用来建立索引的长度。

公式的作用就是,选择出字段长度,去重求总,这时候就可以知道使用这个长度来建立索引,大概会有多少值,然后再把这个值除以总数,得到的值越接近1,则表示用这个长度来建立索引的区分度越大,自然就越适合。

测试表USER_ROLE的数据如下:

比如要对字段USER_NAME建立索引,代入上述公式

先选择这个字段的1个长度来建立索引,看下区分度:

select  COUNT(DISTINCT left(USER_NAME,1))/COUNT(*) from USER_ROLE

区分度如下:

再选择这个字段的3个长度来建立索引:

select  COUNT(DISTINCT left(USER_NAME,1))/COUNT(*) from USER_ROLE

看下区分度:

再选择这个字段的4个长度来建立索引:

select  COUNT(DISTINCT left(USER_NAME,4))/COUNT(*) from USER_ROLE

看下区分度:

最后选择这个字段的5个长度来建立索引

select  COUNT(DISTINCT left(USER_NAME,5))/COUNT(*) from USER_ROLE

看下区分度:

可以发现长度4和长度5的区分度都是1,那自然选择占用空间小的方案了。

总结

要建立大字段的索引时,可以配合计算字段文本区分度的公式,选出合适的字段长度来建立索引。

mysql计算字段文本区分度相关推荐

  1. mysql 计算字段/字段(百分比)

    round( 字段 / 字段 , 保留小数位数) 注意:  COUNT(p.id)/c.sum    计算时,不能使用别名代替,否则报错(全部数学运算都是) select COUNT(p.id) as ...

  2. mysql拼接两个字段_重拾MySQL之创建计算字段和函数

    一.计算字段 有时候,数据库中的数据格式不一定是使用所需要的数据格式,需要对原数据进行拼接.裁剪.计算等操作,这时就要创建计算字段. 1 拼接 顾名思义,拼接就是将原属于表中两个列的字段拼成一个列,在 ...

  3. mysql 字段等于select_mysql_select_计算字段_数据处理函数_5

    二十一.创建计算字段 1. concat() 把两个字段拼接起来 select concat(lie_name1,'间隔符',lie_name2) from table_name; 选择出  name ...

  4. mysql按逗号拼接起来_MySQL ----- 计算字段(Trim,Concat,as)(九)

    存储在数据库表中的数据一般不是应用程序所需要的格式: 一种是从数据库中检索出转换.计算或格式化过的数据 另一种是将检索出数据在客户机应用程序或报告程序中重新格式化 这里当然建议使用第一种,借助计算字段 ...

  5. mysql 在字段中计算_整数在MySQL的计算字段中

    我试图查询一个MySQL数据库.以整数形式存储在数据库中的字段将按照我的预期以整数形式返回.当在一个存储过程中计算出一个值时,即使我可以保证这个数字是0或1,它也会一直返回. 我需要一种方法来确保计算 ...

  6. 初识Mysql(part8)--我需要知道的5个关于计算字段的小知识

    学习笔记,以代码和例子堆砌而成,方便查阅. 参考书籍:<Mysql必知必会>等 要点:Concat()函数.Trim()函数.AS关键字.数值计算.测试计算 此Blog里的例子都会用下面s ...

  7. mysql中将某个字段做计算,mysql创建计算字段使用子查询教程

    作为计算字段使用子查询 使用子查询的另一方法是创建计算字段.假如需要显示 customers表中每个客户的订单总数.订单与相应的客户ID存储在 orders 表中. 为了执行这个操作,遵循下面的步骤. ...

  8. mysql字段自动计算_MySQL创建计算字段

    概述 存储在数据库表中的数据一般不是应用程序所需要的格式.这时候计算字段就发挥作用了.与前面各章介绍过的列不同,计算字段并不实际存在于数据库表中.计算字段是运行在SELECT语句内创建的. 可在SQL ...

  9. mysql字段自动计算_《MySQL必知必会》计算字段

    <MySQL必知必会>计算字段 1.1 计算字段 字段(field)基本上与列( column)的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常用在计算字段的连接上. 客户 ...

最新文章

  1. 价值1143元的《R语言统计分析微生物组数据(Statistical Analysis of Microbiome Data with R)》系列图书
  2. 学术 | 热议:寒门硕士要不要继续读博士?
  3. 关于火狐(firefox4)
  4. shell中的条件表达式
  5. 太原工业学院单片机课程设计_我系举办2014年单片机应用技能竞赛开幕式
  6. TreeMap源码分析——深入分析(基于JDK1.6)
  7. 如今的移动操作系统,写在2013年——android篇 by 伊一线天
  8. 线下实战(这次包含北京)
  9. csdn博客搭建自定义模块
  10. red hat linux怎么运行,Red Hat Linux中自动运行程序
  11. 用 rust 写算法
  12. VPC、快照、重置密码、重启、关机、扩容
  13. python少儿图形编程软件_现在最好的少儿编程软件是什么?
  14. msup 蚂蚁金服开放日游记之三 百家汇总
  15. Win32_Keyboard 键盘 参数说明
  16. Python爬虫入门之爬虫解析提取数据的四种方法
  17. Unix和Linux下C语言学习指南
  18. Mockoon代理模式
  19. 【电网规划】基于智能算法的电力系统最优规划matlab仿真
  20. 羊皮卷的故事-第五章

热门文章

  1. 鼠标点一下就行 玩转CPU软件超频
  2. 《软件过程管理》 第八章 软件过程集成管理
  3. matlab程序subplot,MATLAB之中秋subplot函数
  4. magics 24.0 安装教程 百度网盘
  5. 京东:基于多类目MoE模型的电商搜索引擎
  6. 牛客网 德玛西亚万岁 状压DP
  7. 第五届信息科学、电气与自动化工程国际学术会议(ISEAE 2023)
  8. FreeRTOS——软件计时器
  9. Motorcad 外转子式42极36槽 永磁同步电机,直流无刷电机设计案例
  10. 获取iPhone iPad UDID的方法