10.1 第十章 索引的设计和使用

  索引用于快速找出在某个列中有一特定值的行。如果不使用索引,MySQL 必须从第1
条记录开始然后读完整个表直到找出相关的行。表越大,花费的时间越多。如果表中查询的
列有一个索引,MySQL 能快速到达一个位置去搜寻数据文件的中间,没有必要看所有数据。
如果一个表有1000 行,这比顺序读取至少快100 倍。注意如果需要访问大部分行,顺序读
取要快得多,因为此时应避免磁盘搜索。
  大多数MySQL 索引(如PRIMARY KEY、UNIQUE、INDEX 和FULLTEXT 等)在BTREE 中存
储。只是空间列类型的索引使用RTREE,并且MEMORY 表还支持HASH 索引。

时间: 2024-10-06 12:09:06

10.1 第十章 索引的设计和使用的相关文章

《深入浅出Mysql》——第九章 字符集 + 第十章 索引的设计和使用 + 第十一章 视图

MyISAM 和 InnoDB 存储引擎的表默认创建的都是 BTREE 索引.默认情况下,MEMORY 存储引擎使用 HASH 索引,但也支持 BTREE 索引. 原文地址:https://www.cnblogs.com/JasonPeng1/p/12234413.html

MySQL索引的设计、使用和优化

原文:http://bbs.landingbj.com/t-0-243071-1.html MySQL索引概述 所有MySQL列类型可以被索引.对相关列使用索引是提高SELECT操作性能的最佳途径.根据存储引擎定义每个表的最大索引数和最大索引长度.所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节.大多数存储引擎有更高的限制. 在MySQL 5.1中,对于MyISAM和InnoDB表,前缀可以达到1000字节长.请注意前缀的限制应以字节为单位进行测量,而CREATE TABLE语句

Mysql 学习-索引的设计原则

索引的设计不合理或者缺少索引都会对数据库和应用程序的性能造成障碍.高效的索引对获的良好性能非常重要.设计索引是,应该考虑一下准则: (1)索引并非语讹夺越好,若一个表中有大量索引,不仅占用磁盘空间,而且会影响Insert/delete/update等语句的性能,因为当表中的数据更改同时,索引也会进行调整和更新. (2)避免对经常更新的表最好不要使用索引,并且索引中的列尽可能少,而对经常用于查询的字段应该创建索引,但要避免添加不必要的字段. (3)数据量小的表最好不要使用索引,由于数据比较少,查询

Solr4.8.0源码分析(10)之Lucene的索引文件(3)

Solr4.8.0源码分析(10)之Lucene的索引文件(3) 1. .si文件 .si文件存储了段的元数据,主要涉及SegmentInfoFormat.java和Segmentinfo.java这两个文件.由于本文介绍的Solr4.8.0,所以对应的是SegmentInfoFormat的子类Lucene46SegmentInfoFormat. 首先来看下.si文件的格式 头部(header) 版本(SegVersion) doc个数(SegSize) 是否符合文档格式(IsCompoundF

HBase二级索引的设计

摘要 最近做的一个项目涉及到了多条件的组合查询,数据存储用的是HBase,恰恰HBase对于这种场景的查询特别不给力,一般HBase的查询都是通过RowKey(要把多条件组合查询的字段都拼接在RowKey中显然不太可能),或者全表扫描再结合过滤器筛选出目标数据(太低效),所以通过设计HBase的二级索引来解决这个问题 查询需求 多个查询条件构成多维度的组合查询,需要根据不同组合查询出符合查询条件的数据 HBase的局限性 HBase本身只提供基于行键和全表扫描的查询,而行键索引单一,对于多维度的

10个超有用的网页设计工具和资源

网页设计师有福利了,下面给大家介绍10款超有用的网页设计工具和资源. 1.Unheap 这里收集了N多的jQuery 插件,现在已经有726款. W eb Color Data 颜色提取器,只要输入网址就能够快速提取你想要的网站的颜色,赶紧试试吧. Screen Sizes 提供各种主流手机.平板.电脑的屏幕尺寸.分辨率及像素密度等. Topcoat Topcoat是Adobe最新推出的一款CSS框架.好看的UI.免费的字体和图标,高度定制化并且轻量级,能让你节省不少时间. CSS3 Gener

Python快速学习10: 循环的对象及设计 (生活的规律)

前言 系列文章:[传送门] 生活逐渐规律,按时睡觉.今天写博客,明天补时间看会书.慢慢的时间很珍惜 我很喜欢! 时钟就像个循环体,我们将它融入生活. 正文 循环对象的并不是随着Python的诞生就存在的,但它的发展迅速,特别是Python 3x的时代,循环对象正在成为循环的标准形式. 灵活的循环方式 (我晚饭后爱上了萨克斯,因为这是生活的一部分.属于我的特殊循环对象,它的按键就像循环方式,然后出来一首美丽的歌曲) 我的萨克斯偶像 循环对象 循环对象是这样一个对象,它包含有一个next()方法(_

(7)mysql索引的设计和使用

概述 ??索引用于快速找出在某个列中有一特定值的行.不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行.表越大,花费的时间越多.如果表中查询的列有一个索引,MySQL能快速到达一个位置去搜寻到数据文件的中间,没有必要看所有数据. ??在MySQL中所有的类型数据列都可以被索引,对相关列使用索引是提高select操作性能的最佳途径.MyISAM和InnoDB存储引擎的表默认创建索引都是BTREE索引.MyISAM还支持全文本索引,该索引可以用于创建全文搜索.默认情况下, ME

索引的设计和使用

索引是数据库中用来提高性能的最常用工具. 根据存储引擎可以定义每个表的最大索引数和最大索引长度,每种存储引擎(MyISAM,InnoDB,BDB,MEMORY等)对每个表至少支持16个索引,总索引长度至少为256字节. 前缀索引 要为city表创建了10个字节的前缀索引,语法是: create  index  cityname on  city (city_name(10)); 删除索引 DROP INDEX cityname ON city; 设计索引的原则 (1).搜索的索引列,不一定是所要