一.实例

二.具体分析

1.Index Type

  • Normal:  普通索引
  • Unique: 唯一的,不可重复的
  • Full Text: 全文搜索的,用于搜索很长的文章,效果最好

​​​​​​​   1.1 ​​​​​​​在实际操作过程中,应该选取表中哪些字段作为索引?

  • ​​​​​​​选择唯一性索引
  • 为经常需要排序、分组和联合操作的字段建立索引
  • 为常作为查询条件的字段建立索引
  • 限制索引的数目
  • 尽量使用数据量少的索引
  • 尽量使用前缀来索引
  • 删除不再使用或者很少使用的索引​​​​​​​

2.Index method

  • BTREE: 需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,二叉树相同的道理,相当于建个排序后的数据集,使用二分法查找算法
  • HASH: 检索效率非常高,hash索引中存放的都是经过hash计算之后的值,而hash值的大小关系不一定与hash计算之前的值一样

2.1 为什么实际中普遍使用BTREE而不是HASH?

  • HASH索引仅仅能满足 =,  <=> 比较查询,不能进行范围查询(in, between …… and ……)。
  • hash索引无法被用来进行数据的排序操作
  • 对于组合索引,Hash 索引在计算 Hash 值的时候是组合索引键合并后再一起计算 Hash 值,而不是单独计算 Hash 值,所以通过组合索引的前面一个或几个索引键进行查询的时候,Hash 索引也无法被利用。BTREE索引在组合索引中的提现是按照最左侧原则。例如索引是key index (a,b,c)。 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找。
  • Hash 索引遇到大量Hash值相等的情况后性能并不一定就会比B-Tree索引高。

Navicat工具中建立数据库索引相关推荐

  1. oracle 根据值不同具有不同的搜索条件_在Navicat Premium中执行数据库范围内的搜索...

    如果您曾经尝试在大型数据库中定位特定列,那么我相信您会同意这可能是一项艰巨的任务.您可以从information_schema模式中收集有关DB结构的许多信息.它具有所有表和表中所有字段的列表.然后, ...

  2. Navicat工具导出mySQL数据库某个视图结构的.sql脚本

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 用Navicat工具怎么都导不出来mySQL数据库的某个视图.sql脚本,即使导出来也只是包含视图记 ...

  3. Navicat工具获取操作数据库和表的SQL语句

    工具 Navicat Premium 15 MySQL服务器技术 SQL语句MySQL 在使用Navicat Premium 15客户端时,对数据库和表进行操作,会产生SQL语句.有时我们不记得SQL ...

  4. 在酒店房间中的数据库索引

    如果你经常去酒店,你会看到一块类似下面的标牌,指引你到达房间.这能够帮助你方便快速地找到房间,特别是当酒店拥有许多房间时. 以一个有9层的酒店为例.你的房间号是917.第一步是找到你的房间在哪一层,通 ...

  5. navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048

    如果你跟我一样,遇到,一个表中的数据,就有20GB这么大,你就可能用到这个功能了. 1.下面这个sql复制在Navicat选择,查询执行就可以了,能查出所有的数据库的占用空间是多少 MB select ...

  6. Navicat工具导出word数据库设计文档

    单个表的导出,执行下列SQL: SELECT COLUMN_NAME 代码, COLUMN_TYPE 数据类型, 'false' as 是键, COLUMN_COMMENT 注释 FROM INFOR ...

  7. navicat工具连接oracle数据库(傻瓜式教程)

    准备 Navicat Premium 15(下载地址:http://www.navicat.com.cn/download/navicat-premium) oci.dll和sqlplus.exe(h ...

  8. 在python中terminal中建立mysql数据库,无法再models.py 文件中建立数据库信息

    1. 2. 注意1:NAME即数据库的名字,在mysql连接前该数据库必须已经创建,而上面的sqlite数据库下的db.sqlite3则是项目自动创建 USER和PASSWORD分别是数据库的用户名和 ...

  9. laravel database.php,php Laravel框架学习(一) 之 建立数据库并填充测试数据

    php Laravel框架学习(一) php Laravel框架学习之Laravel 建立数据库并填充测试数据 建立数据库 前面我们已经明确目标网站的基本功能,现在我们先来建立它的数据库. 设计数据库 ...

最新文章

  1. 设计模式(八)之单例模式
  2. ObjectARX_图形数据库
  3. 设计模式之 - 简单工厂模式
  4. Java文件字节流和字符流FileInputStream,FileOutputStream,FileReader,FileWriter
  5. 【转】jmeter响应结果乱码问题
  6. SpringCloud F.RC2 整合Zipkin简单步骤
  7. vue-json-excel前端导出excel教程
  8. SQLSERVER根据字符 切割字符串的方法
  9. 精通开关电源设计第三版pdf_看漫画,学电源(一)丨线性电源与开关电源的构造...
  10. CEF3中js调用delphi内部方法
  11. 【飞行器】基于matlab GUI四旋翼飞行器飞行模拟【含Matlab源码 1183期】
  12. 哈工大材力上机 matlab,材力上机Matlab哈工大
  13. CAD绘图教程之CAD中怎么进行消防计算?
  14. 【蓝牙】什么?还不知道蓝牙协议栈开源了?
  15. vscode python第三方库自动补全_vscode python 第三方库的智能提示
  16. 深圳礼品展1688再度强强联手,30万平超级大展10月震撼来袭!
  17. Cousera吴恩达机器学习week8笔记
  18. word 2007 无法输入汉字,怎么办?
  19. Mac用homebrew安装unrar
  20. 重新思考人和计算机的关系

热门文章

  1. 学计算机一定要出国留学吗,去韩国留学学计算机专业需要读几年?好毕业吗?...
  2. 信息学奥赛一本通 1379:热浪(heatwv) | 洛谷 P1339 [USACO09OCT]Heat Wave G
  3. 京东白条抢滩消费信贷 赔钱抢市场
  4. 未来3年,非常赚钱的6个行业,将又会造就一批百万富翁!
  5. 项目执行差,你应该如何推进解决?(万千项目)
  6. tkinter+socket&MySQL+keras识别minst手写数字
  7. AI实战:交规识别系统实战(源码共享)
  8. 初入职场的新人,你的什么行为或者话会让老员工反感?
  9. 发字的楷书写法图片_秋季学期三年级书法教学计划范本
  10. 邮件服务器压力测试工具postal