- 浏览: 53272 次
- 性别:
- 来自: 北京
文章分类
最新评论
索引用来快速地寻找那些具有特定值的记录,所有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 633一、请你自我介绍一下 ... -
往年汤森路透上机题
2011-11-15 09:23 1345c++类:main()的标准形式? 在最新的 C99 标准中 ... -
Struts 的工作原理
2011-11-06 22:49 814Struts1的流程 服务器启动后,根据web.xml加载A ... -
Java版二叉树遍历非递归程序
2011-10-24 08:18 1002Binary.java import java.util ... -
android 面试题经典
2011-10-22 00:34 5761、 Android dvm的进程和Linux的进程, 应 ... -
恼人的设计模式
2011-10-15 23:20 602最近参加面试,总是被问到设计模式的问题。本人作为一个实用派 ... -
链表相关面试题
2011-10-06 10:46 761题一、 给定单链表,检 ... -
二叉树的算法
2011-10-04 17:37 1902声明,本文所有11道算法题目,覆盖了基本上所有常见的二叉树 ... -
SSH面试题总结
2011-09-28 23:31 605Hibernate工作原理及为什么要用? 原理: 1. ... -
百度2011笔试题
2011-09-27 11:00 6742011年校园招聘笔试题(一) (测试题目答题时间90分钟, ... -
约瑟夫环问题
2011-09-23 16:08 967在一只热气球上有15个日本人和15个美国人,由于热气球超重,必 ... -
联发科技笔试题
2011-09-23 10:20 1097public class Dims { /** ... -
往年EMC编程题答案
2011-09-22 14:24 6771 Write a function to find the ... -
“火柴棍式”程序员面试题
2011-09-21 22:18 915“火柴棍式”程序员面试题 2011年03月21日 星期一 ... -
华为机考
2011-09-21 16:39 14981. 判断回文 public class Huiwen { ... -
求最长的回文字符串
2011-09-21 16:28 1620程序:输入:一行字符串,输出:最长的回文字符的长度以及把它们 ... -
数据库事务
2011-08-07 16:42 708事务(Transaction)是并发控制的基本单位。所谓的 ... -
理解数据库范式
2011-08-07 16:29 660理解数据库范式 系统是短暂的 数据是永恒的 数 据库 ... -
几道经典的SQL笔试题目
2011-06-28 20:37 761(1)表名:购物信息购物人 商品名称 数量A ... -
SQL模糊查询
2011-03-28 20:06 587SQL模糊查询的语 ...
相关推荐
索引 什么是索引? 在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值得集合和相应的指向表中物理标识这些值得数据...索引的几种类型? 1.唯一
MySQL中有几种索引类型,可以简单说说吗? FULLTEXT :即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引...
数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4...
快速重建索引的一种有效的办法,因为使用现有索引项来重建新索引,如果客户操作时有其他用户在对这个表操作,尽量使用带online参数来最大限度的减少索引重建时将会出现的任何加锁问题,alter index index_name ...
二、索引失效的几种情况 1.如果条件中有多个字段使用or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)。多条件查询用同一字段时使用or索引会生效。 注意:要想使用or,又想让索引生效,只能...
该ppt详细描述sqlserver索引优化时带来的查询性能提升和更新锁开销,最后介绍表设计,字段数据类型的选择及使用适当的冗余减少表连接
1. 客户端向Node1 发送索引档请求 2. Node1 根据档ID(_id字段)计算出该档应该属于shard0,然后请求路 3. Node3在P0上执了请求
索引并不是时时都会生效的,比如以下几种情况,将导致索引失效: 1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因) 注意:要想使用or,又想让索引生效,只能将or条件中的每个...
在进行索引优化时,有几个关键点需要注意。首先是选择合适的索引列,通常选择经常用于查询的列作为索引列,尽量避免使用长文本或二进制类型的列作为索引列。其次是合理设置索引的顺序,根据查询的频率和字段选择合适...
几种索引技术的比较收集.pdf
哪种算法效果较好? 搜索引擎缓存有几级结构?核心策略是什么? 什么是情境搜索?什么是社会化搜索?什么是实时搜索? 2. 对云计算与云存储有兴趣的技术人员 • 什么是CAP 原理?什么是ACID 原理?它们之间有什么...
1 、Hadoop是什么?它能做什么? 2 、Hadoop和MapReduce的关系是什么?...17、YARN中的资源分配分为哪几种类型?它们分别适用于哪些场景? 18、YARN中的ResourceManager和NodeManager的作用分别是什么? 。。。。。。
我在这里只讨论两种SQLServer索引,即clustered索引和nonclustered索引。当考察建立什么类型的索引时,你应当考虑数据类型和保存这些数据的column。同样,你也必须考虑数据库可能用到的查询类型以及使用的最为频繁的...
GIST索引机制是一种适合于数据库操作的索引机制(好早就有了),前面几种索引并没有将运算结果保存起来,GIST索引机制将运算的数据统一保存。需要提供给数据库一些函数:选择,处罚、合并、分裂。将方法和数据统一...
它有以下几种创建方式: 1.创建索引 代码如下: CREATE INDEX indexName ON mytable(username(length)); 如果是 CHAR,VARCHAR 类型,length 可以小于字段实际长度;如果是 BLOB 和 TEXT 类型,必须指定 length,...
一.索引不存储null值 更准确的说,单列索引不存储null值,复合索引不存储全为null的值。索引不能存储Null,所以对这列采用is null条件时,因为索引...假如索引列TYPE有5个键值,如果有1万条数据,那么 WHERE TYPE = 1将
oracle索引失效的总结
常见的几种分布式ID的设计方案 常见的数据库优化方案,在你的项目中数据库如何进行优化的 什么是索引下推 Hash索引和B+树所有有什么区别或者说优劣呢? 说说什么是最左匹配? 如何优化慢查询?(explain命令) 分库...
索引是数据库存储引擎用于快速查找到指定数据的一种数据结构。 可以用新华字典做类比:如果新华字典中对每个字的详细解释是数据库中表的记录,那么按部首或拼音等排序的目录就是索引,使用它可以让我们快速查找的某...
4、MySQL的binlog有有几种录入格式?分别有什么区别? 5、平时用到哪些关系型数据库和非关系数据库, 可以谈谈你对它们的理解吗? 6、可以简单说说你对MySQL的逻辑架构了解吗? 7、了解MySQL中的MVCC是什么? 8、...