- 浏览: 203341 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
white1114579650:
[flash=200,200][url][img][list] ...
Tomcat部署web项目 -
xue_x_d:
...
MySQL创建索引,查看以及删除 -
Vincent-Yang:
doUpdate不会用,接受的是List<T>那就 ...
java操作数据库的通用的类 -
royzs:
浅显明了,辛苦
MySQL与Oracle的区别 -
张伟818:
...
c3p0和dbcp的区别
1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。 例如,有3个未索引的表t1、t2、t3,分别只包含列c1、c2、c3,每个表分别含有1000行数据组成,指为1~1000的数值,查找对应值相等行的查询如下所示。 SELECT c1,c2,c3 FROM t1,t2,t3 WHERE c1=c2 AND c1=c3 此查询结果应该为1000行,每行包含3个相等的值。在无索引的情况下处理此查询,必须寻找3个表所有的组合,以便得出与WHERE子句相配的那些行。而可能的组合数目为1000×1000×1000(十亿),显然查询将会非常慢。 如果对每个表进行索引,就能极大地加速查询进程。利用索引的查询处理如下。 (1)从表t1中选择第一行,查看此行所包含的数据。 (2)使用表t2上的索引,直接定位t2中与t1的值匹配的行。类似,利用表t3上的索引,直接定位t3中与来自t1的值匹配的行。 (3)扫描表t1的下一行并重复前面的过程,直到遍历t1中所有的行。 在此情形下,仍然对表t1执行了一个完全扫描,但能够在表t2和t3上进行索引查找直接取出这些表中的行,比未用索引时要快一百万倍。 利用索引,MySQL加速了WHERE子句满足条件行的搜索,而在多表连接查询时,在执行连接时加快了与其他表中的行匹配的速度。 2. 创建索引 在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引。 1.ALTER TABLE ALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARY KEY索引。 ALTER TABLE table_name ADD INDEX index_name (column_list) ALTER TABLE table_name ADD UNIQUE (column_list) ALTER TABLE table_name ADD PRIMARY KEY (column_list) 其中table_name是要增加索引的表名,column_list指出对哪些列进行索引,多列时各列之间用逗号分隔。索引名index_name可选,缺省时,MySQL将根据第一个索引列赋一个名称。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以在同时创建多个索引。 2.CREATE INDEX CREATE INDEX可对表增加普通索引或UNIQUE索引。 CREATE INDEX index_name ON table_name (column_list) CREATE UNIQUE INDEX index_name ON table_name (column_list) table_name、index_name和column_list具有与ALTER TABLE语句中相同的含义,索引名不可选。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。 3.索引类型 在创建索引时,可以规定索引能否包含重复值。如果不包含,则索引应该创建为PRIMARY KEY或UNIQUE索引。对于单列惟一性索引,这保证单列不包含重复的值。对于多列惟一性索引,保证多个值的组合不重复。 PRIMARY KEY索引和UNIQUE索引非常类似。事实上,PRIMARY KEY索引仅是一个具有名称PRIMARY的UNIQUE索引。这表示一个表只能包含一个PRIMARY KEY,因为一个表中不可能具有两个同名的索引。 下面的SQL语句对students表在sid上添加PRIMARY KEY索引。 ALTER TABLE students ADD PRIMARY KEY (sid) 4. 删除索引 可利用ALTER TABLE或DROP INDEX语句来删除索引。类似于CREATE INDEX语句,DROP INDEX可以在ALTER TABLE内部作为一条语句处理,语法如下。 DROP INDEX index_name ON talbe_name ALTER TABLE table_name DROP INDEX index_name ALTER TABLE table_name DROP PRIMARY KEY 其中,前两条语句是等价的,删除掉table_name中的索引index_name。 第3条语句只在删除PRIMARY KEY索引时使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。 如果从表中删除了某列,则索引会受到影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。 5.查看索引 mysql> show index from tblname; mysql> show keys from tblname; · Table 表的名称。 · Non_unique 如果索引不能包括重复词,则为0。如果可以,则为1。 · Key_name 索引的名称。 · Seq_in_index 索引中的列序列号,从1开始。 · Column_name 列名称。 · Collation 列以什么方式存储在索引中。在MySQL中,有值‘A’(升序)或NULL(无分类)。 · Cardinality 索引中唯一值的数目的估计值。通过运行ANALYZE TABLE或myisamchk -a可以更新。基数根据被存储为整数的统计数据来计数,所以即使对于小型表,该值也没有必要是精确的。基数越大,当进行联合时,MySQL使用该索引的机会就越大。 · Sub_part 如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。 · Packed 指示关键字如何被压缩。如果没有被压缩,则为NULL。 · Null 如果列含有NULL,则含有YES。如果没有,则该列含有NO。 · Index_type 用过的索引方法(BTREE, FULLTEXT, HASH, RTREE)。
- mysqlexplain-100712043803-phpapp01.zip (310.8 KB)
- 下载次数: 23
发表评论
-
数据库连接的相关问题
2012-08-30 09:23 01。url if (null == ip || null = ... -
数据库的连接池
2012-08-14 15:09 0数据库的连接池的相关的知识! -
JDBC连接各种数据库
2012-03-11 18:38 825引用1、Oracle8/8i/9i数据库(thin模式) ... -
内存数据库的定义
2012-03-10 15:57 1109内存数据库,顾名思 ... -
Oracle的学习视频
2012-03-10 13:53 932http://school.itzcn.com/special ... -
sql的索引优化
2012-03-10 08:53 931引用问题描述: 我们要 ... -
char,varchar以及varchar2的区别
2012-03-10 08:54 1063详细请见附件 -
子查询转化为连接查询的例子
2012-03-09 09:15 7174引用 我们进行数据查询的时候极少有可能就在一张表里就能得到 ... -
Oracle完整的试题
2012-03-07 09:14 2064create table student( sno varc ... -
MySQL与Oracle的区别
2012-03-08 09:26 1604引用1. Oracle是大型数据库而Mysql是中小型数据库 ... -
JDBC ResultSet数据集参数详解
2012-03-06 09:30 2339引用.(转载) 调用ResultSet中的last()方法时 ... -
Oracle的常用的命令
2012-03-06 09:31 573--导出数据库 exp test2/ ... -
数据库的索引浅谈
2012-03-06 09:31 791引用 数据库表的信息是存在在文件中的,每个文件中有很多记录,你 ... -
Tomcat设置JNDI
2012-03-06 09:31 8771、拷贝数据库驱动到tomcat的lib目录 2、打开con ... -
左连接,右连接以及全连接
2012-03-08 09:25 776详细参考:http://lichunhui.iteye.com ... -
死锁产生的原因以及解决的方法
2012-03-05 14:37 1336原因分析: 首先死锁是怎么发生的: 简单说, ... -
几条记下来的sql
2012-03-05 14:08 786本人认为很实用的几条语句 1)select ... from ... -
MySQL 中的Blog杂谈
2012-03-05 13:58 1942声明:本人完全copy来的 一、MySQL BLOB 类型介绍 ... -
c3p0和dbcp的区别
2012-03-05 13:34 6692c3p0简介: C3P0是一个开源的JDBC连接池,它 ... -
sql的优化30条
2012-03-03 18:18 10161. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 wh ...
相关推荐
掌握 —— 通过NAVICAT工具在创建表时创建索引的方法; 掌握 —— 通过NAVICAT工具在现存表中创建索引的方法; 掌握 —— 通过NAVICAT工具删除索引的方法。 使用NAVICAT工具创建和管理索引 通过NAVICAT工具在创建表...
在关系数据库中,索引是一种单独对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的...在MySQL数据库一共支持5种类型的索引和9种索引失效的场景,下面,我来进行一一介绍。
本文主要是对如何使用命令操作MySQL索引,包括创建索引、重建索引、查询索引、删除索引的操作。以下所列示例中的 `table_name` 表示数据表名,`index_name` 表示索引名,column list 表示字段列表(如:`id`,`order_...
内容:包含了MySQL所有的详细用法, ...MySQL 索引 MySQL 临时表 MySQL 复制表 MySQL 元数据 MySQL 序列使用 MySQL 处理重复数据 MySQL 及 SQL 注入 MySQL 导出数据 MySQL 导入数据 MySQL 函数 MySQL 运算符
16.MySQL高级存储过程创建调用查询删除语法.avi 17.MySQL高级存储过程语法变量.avi 18.MySQL高级存储过程语法if判断.avi 19.MySQL高级存储过程语法输入参数.avi 20.MySQL高级存储过程语法输出参数.avi 21.MySQL高级...
笔记目录: P1 day01-02. MySQL 高级 - Linux上安装MySQL P2 day01-03. MySQL 高级 - 启动及登录MySQL P3 day01-04. MySQL 高级 - 索引 - 概述 ... MySQL 高级 - 视图 - 查看及删除视图 ...........
主要介绍了MySQL查看、创建和删除索引的方法,结合实例形式较为详细的分析了MySQL中索引的作用,以及查看、创建及删除索引的相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
mysql高级笔记 P1 day01-02. MySQL 高级 - Linux上安装MySQL P2 day01-03. MySQL 高级 - 启动及登录MySQL P3 day01-04. MySQL 高级 - 索引 - 概述 ... MySQL 高级 - 视图 - 查看及删除视图 P14 day01-15. MyS
7.24 LOCK TABLES/UNLOCK TABLES (锁定表/解锁表)句法 7.25 SET OPTION (设置选项)句法 7.26 GRANT (授权)和REVOKE (撤回)句法 7.27 CREATE INDEX (创建索引)句法 7.28 DROP INDEX (抛弃索引)...
7.27 CREATE INDEX (创建索引)句法 7.28 DROP INDEX (抛弃索引)句法 7.29 注释句法 7.30 CREATE FUNCTION/DROP FUNCTION (创建函数/抛弃函数)句法 7.31 MySQL对保留字很挑剔吗?...
网盘文件永久链接1.... - 查看及删除视图15. MySQL 高级 - 存储过程 - 概述16. 创建调用查询删除语法17. 语法 - 变量18. MySQL 高级 - 语法 - if判断19. MySQL 高级 - 输入参数20. MySQL 高级- 输出参数.........
数据库和表的创建和管理 表的创建和管理-navicat 课程目标 LOGO 掌握 —— 利用navicat图形化创建和管理表; 掌握 —— 利用navicat编写SQL语句创建和管理表。 表的创建和管理-navicat Navicat图形化创建数据表 ...
一.My SQL数据库简介 二.MySQL 安装 三.MySQL 管理 四.MySQL 连接 五.MySQL 创建数据库 六.MySQL 删除数据库 七.MySQL 选择数据库 八.MySQL 数据类型 .MySQL 创建数据表 十.MySQL 删除数据表 十一.MySQL ...
7.4.5. MySQL如何使用索引 7.4.6. MyISAM键高速缓冲 7.4.7. MyISAM索引统计集合 7.4.8. MySQL如何计算打开的表 7.4.9. MySQL如何打开和关闭表 7.4.10. 在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1...
在MySQL里,主键索引和辅助索引分别是什么意思,有什么区别? 上次的分享我们介绍了聚集索引和非聚集索引的区别,本次我们继续介绍主键索引和辅助索引的区别。 1、主键索引 主键索引,简称主键,原文是PRIMARY KEY,...
LNH_MySQL 18-主键-唯一-普通索引创建及删除小结.mp4
return_table:存储学生的归还信息 6 这是一个简单的图书管理系统的MYSQL设计,包含了数据插入,删除,定时器,触发器设计 ticket:存储学生的罚单信息 manager: 3、设计索引 给出在各表上建立的索引以及使用的语句。...