- 浏览: 54934 次
- 性别:
- 来自: 北京
文章分类
最新评论
索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。 索引的类型: MySQL提供多种索引类型供选择: (一)普通索引 这是最基本的索引类型,而且它没有唯一性之类的限制。普通索引可以通过以下几种方式创建: 创建索引,例如CREATE INDEX <索引的名字> ON tablename (列的列表); (二)唯一性索引 这种索引和前面的“普通索引”基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一。唯一性索引可以用以下几种方式创建: 创建索引,例如CREATE UNIQUE INDEX <索引的名字> ON tablename (列的列表); (三)主键 主键是一种唯一性索引,但它必须指定为“PRIMARY KEY”。如果你曾经用过AUTO_INCREMENT类型的列,你可能已经熟悉主键之类的概念了。主键一般在创建表的时候指定,例如“CREATE TABLE tablename ( [...], PRIMARY KEY (列的列表) ); ”。但是,我们也可以通过修改表的方式加入主键,例如“ALTER TABLE tablename ADD PRIMARY KEY (列的列表); ”。每个表只能有一个主键。 (四)全文索引 MySQL从3.23.23版开始支持全文索引和全文检索。在MySQL中,全文索引的索引类型为FULLTEXT。全文索引可以在VARCHAR或者TEXT类型的列上创建。它可以通过CREATE TABLE命令创建,也可以通过ALTER TABLE或CREATE INDEX命令创建。对于大规模的数据集,通过ALTER TABLE(或者CREATE INDEX)命令创建全文索引要比把记录插入带有全文索引的空表更快。本文下面的讨论不再涉及全文索引,要了解更多信息,请参见MySQL documentation。 (四)单列索引与多列索引 索引可以是单列索引,也可以是多列索引。下面我们通过具体的例子来说明这两种索引的区别。假设有这样一个people表: CREATE TABLE people ( peopleid SMALLINT NOT NULL AUTO_INCREMENT, firstname CHAR(50)
修改表,例如ALTER TABLE tablename ADD INDEX [索引的名字] (列的列表);
创建表的时候指定索引,例如CREATE TABLE tablename ( [...], INDEX [索引的名字] (列的列表) );
修改表,例如ALTER TABLE tablename ADD UNIQUE [索引的名字] (列的列表);
创建表的时候指定索引,例如CREATE TABLE tablename ( [...], UNIQUE [索引的名字] (列的列表)
);
NOT NULL, lastname CHAR(50) NOT NULL, age SMALLINT NOT NULL, townid SMALLINT NOT
NULL, PRIMARY KEY (peopleid) );
发表评论
-
经典面试题
2011-11-22 23:21 660一、请你自我介绍一下 ... -
往年汤森路透上机题
2011-11-15 09:23 1377c++类:main()的标准形式? 在最新的 C99 标准中 ... -
Struts 的工作原理
2011-11-06 22:49 846Struts1的流程 服务器启动后,根据web.xml加载A ... -
Java版二叉树遍历非递归程序
2011-10-24 08:18 1029Binary.java import java.util ... -
android 面试题经典
2011-10-22 00:34 6061、 Android dvm的进程和Linux的进程, 应 ... -
恼人的设计模式
2011-10-15 23:20 627最近参加面试,总是被问到设计模式的问题。本人作为一个实用派 ... -
链表相关面试题
2011-10-06 10:46 788题一、 给定单链表,检 ... -
二叉树的算法
2011-10-04 17:37 1933声明,本文所有11道算法题目,覆盖了基本上所有常见的二叉树 ... -
SSH面试题总结
2011-09-28 23:31 621Hibernate工作原理及为什么要用? 原理: 1. ... -
百度2011笔试题
2011-09-27 11:00 7042011年校园招聘笔试题(一) (测试题目答题时间90分钟, ... -
约瑟夫环问题
2011-09-23 16:08 992在一只热气球上有15个日本人和15个美国人,由于热气球超重,必 ... -
联发科技笔试题
2011-09-23 10:20 1129public class Dims { /** ... -
往年EMC编程题答案
2011-09-22 14:24 6921 Write a function to find the ... -
“火柴棍式”程序员面试题
2011-09-21 22:18 937“火柴棍式”程序员面试题 2011年03月21日 星期一 ... -
华为机考
2011-09-21 16:39 15231. 判断回文 public class Huiwen { ... -
求最长的回文字符串
2011-09-21 16:28 1648程序:输入:一行字符串,输出:最长的回文字符的长度以及把它们 ... -
数据库事务
2011-08-07 16:42 737事务(Transaction)是并发控制的基本单位。所谓的 ... -
理解数据库范式
2011-08-07 16:29 688理解数据库范式 系统是短暂的 数据是永恒的 数 据库 ... -
几道经典的SQL笔试题目
2011-06-28 20:37 791(1)表名:购物信息购物人 商品名称 数量A ... -
SQL模糊查询
2011-03-28 20:06 611SQL模糊查询的语 ...
相关推荐
索引 什么是索引? 在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值得集合和相应的指向表中物理标识这些值得数据...索引的几种类型? 1.唯一
聚簇索引是数据库索引技术中的一种特殊类型,它在数据表中直接存储了数据行,并且这些数据行是按照聚簇索引的键值(通常为主键)的顺序物理排列的。聚簇索引结构本质上是一种特殊的B+树数据结构,使得数据记录的物理...
MySQL中有几种索引类型,可以简单说说吗? FULLTEXT :即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引...
本篇文章主要介绍了几种索引技术的概念、应用和比较,讨论了稠密索引、稀疏索引、多级索引、辅助索引和B+树索引等机制。 索引技术是数据库系统中用于提高查询效率的一种机制。索引可以分为主索引和辅助索引两种。主...
数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4...
数据库索引主要有以下几种类型: 1. 主键索引:这是唯一索引,确保索引字段的值在表中是唯一的。主键索引不允许有空值,并且一个表只能有一个主键。 2. 唯一索引:与主键索引类似,它也确保索引字段的值唯一,但并...
ES是一种分布式全文搜索引擎,它将数据存储在索引中,这些索引类似于关系型数据库中的数据库,但具备更高的可扩展性和实时性。索引可以通过名称进行标识,并用于执行文档的各种操作,如创建、搜索、更新和删除。 当...
常见的索引类型包括B*树索引和位图索引,每种都有其特定的应用场景和优势。 1. **B*树索引**:这是最常见的索引类型,类似于二叉树结构,能高效地根据键值进行查找。B*树索引有以下几种子类型: - **索引组织表...
在深入探讨MySQL Innodb索引之前,我们先了解几种基本的树形数据结构,包括二叉搜索树、B树、B+树以及B*树。 ##### 1.1 搜索二叉树(Binary Search Tree) 搜索二叉树是一种特殊的二叉树,每个节点至多有两个子...
它有以下几种创建方式: 1.创建索引 代码如下: CREATE INDEX indexName ON mytable(username(length)); 如果是 CHAR,VARCHAR 类型,length 可以小于字段实际长度;如果是 BLOB 和 TEXT 类型,必须指定 length,...
在使用自动索引功能时,需要注意以下几点: * 在 For 循环中,默认启用自动索引功能。 * 在 While 循环中,默认关闭自动索引功能。 * 如果你只想要把一个单一的变量从 For 循环中传送出来,那么你就需要在循环结构...
接着,我们了解几种常见的文件组织形式: 1. 顺序文件:这是最基础的文件组织形式,数据按照一定的顺序存储,查找时需从头开始逐条扫描。 2. 索引文件:如上所述,带有索引表的文件,可以提供快速访问,因为索引表...
它们分为以下几种类型: - **非空约束(NOT NULL)**: 非空约束不允许字段值为NULL,确保该字段始终有值。 - **唯一约束(UNIQUE)**: 这种约束保证字段中的每个值都是唯一的,但允许NULL值。可以应用于单个字段...
在设计数据库索引时,有几点通用的原则需要遵守: 1. 为经常用于JOIN、WHERE子句和ORDER BY子句中的列创建索引。 2. 避免在经常更新的列上创建过多索引,因为索引会减慢数据的更新速度。 3. 对于数据值变化不大,...
数据库系统会自动判断哪种方式更优。 6. **NULL值处理**:在MySQL等数据库中,NULL值在索引中的排序规则不同于非NULL值,这可能会影响索引的使用。 7. **索引选择性**:索引的选择性越高(即不同列值的数量接近...
索引可以分为以下几种: * 单列索引 * 组合索引 * 唯一索引 * 主键索引 7.索引的使用 索引的使用可以根据实际情况选择,例如: * 对频繁查询的字段建立索引 * 对插入、更新、删除操作频繁的字段建立索引 * 对...
该ppt详细描述sqlserver索引优化时带来的查询性能提升和更新锁开销,最后介绍表设计,字段数据类型的选择及使用适当的冗余减少表连接
数据库索引主要有以下几种类型:B树索引(包括B+树)、哈希索引、全文索引、空间索引等。其中,B树索引是最常见的,适用于范围查询和顺序扫描;哈希索引适用于等值查询,但不支持范围查询;全文索引则专门用于文本...
Oracle 8i 支持几种不同类型的索引以满足许多类型的应用程序的需求,其中包括 B-树(标准)索引、反向键索引、位图索引、索引编排表和基于函数的索引。这些索引都是基于表列创建的各种类型的索引。 (1)标准(B-树...
总之,掌握手动更新Nexus索引的技巧,对于经常使用Nexus的开发团队来说是非常有价值的,它可以提高工作效率,确保团队始终能够快速访问到仓库中的最新组件。同时,了解并利用好提供的相关资源,如压缩包中的文档和...