MySQL 索引浅析
原文链接:http://hi.baidu.com/171892549/blog/item/14818d0ac616ee34b1351dbd.html
在数据库表中,使用索引可以大大提高查询速度。
假如我们创建了一个 testIndex 表:
CREATE TABLE testIndex(i_testID INT NOT NULL,vc_Name VARCHAR(16) NOT NULL);
我们随机向里面插入了 1000 条记录,其中有一条 i_testID vc_Name 555 erquan
在查找 vc_Name="erquan" 的记录 SELECT * from testIndex WHERE vc_Name='erquan'; 时,如果在vc_Name 上已经建立了索引,MySql 无须任何扫描,即准确可找到该记录!相反,MySql 会扫描所有记录,即要查询 1000。以索引将查询速度提高 100 倍。
一、索引分单列索引和组合索引
单列索引:即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引:即一个索包含多个列。
二、介绍一下索引的类型
1、普通索引。
这是最基本的索引,它没有任何限制。它有以下几种创建方式:
(1)创建索引:CREATE INDEX indexName ON tableName(tableColumns(length));如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是 BLOB 和 TEXT 类型,必须指定 length,下同。
(2)修改表结构:ALTER tableName ADD INDEX [indexName] ON (tableColumns(length))
(3)创建表的时候直接指定:CREATE TABLE tableName ( [...], INDEX [indexName] (tableColumns(length)) ;
2、唯一索引。
它与前面的"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:
(1)创建索引:CREATE UNIQUE INDEX indexName ON tableName(tableColumns(length))
(2)修改表结构:ALTER tableName ADD UNIQUE [indexName] ON (tableColumns(length))
(3)创建表的时候直接指定:CREATE TABLE tableName ( [...], UNIQUE [indexName] (tableColumns(length));
3、主键索引
它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引:CREATE TABLE testIndex(i_testID INT NOT NULL AUTO_INCREMENT,vc_Name VARCHAR(16) NOT NULL,PRIMARY KEY(i_testID)); 当然也可以用 ALTER 命令。记住:一个表只能有一个主键。
4、全文索引
MySQL 从 3.23.23 版开始支持全文索引和全文检索。
删除索引的语法:DROP INDEX index_name ON tableName
三、单列索引和组合索引
为了形象地对比两者,再建一个表:
CREATE TABL
相关文档:
BIND-DLZ实验:http://bind-dlz.sourceforge.net/
实验环境:RHEL4,BIND-9.5.0-P2.tar.gz(9.4.0以上版本都已含DLZ补丁),Mysql-5.0.56.tar.gz
1、安装mysql(先安装gcc等相关软件包)
#tar zxvf mysql-5.0.56.tar.gz
#cd mysql-5.0.56
#./configure --prefix=/usr/local/my ......
1.什么叫做字符集
字符集就是一套符号和字符编码的集合。
2.什么叫做校对规则
校对规则就是在字符集内用于比较字符的一套规则。
MYSQL5.1数据库可以做到
· 使用多种字符集来存储字符串
· 使用多种校对规则来比较字符串
· 在同一台服务器、同一个数据库或甚 ......
以前没接触过这个东东,前天一个同事让我安装下jira+confluence,但是confluence弄了好长时间也没集成成功!现在把上述三者的集成过程总结下!
安装环境:
系统:xp sp2
jdk: 1.6
tomcat: 5.5 安装版 (可以用解压版的)
MySql: 5.0.x
所需软件:
jiar: atlassian-jira-enterprise-3.9.3.zi ......
安装MySQL
sudo apt-get install mysql-server mysql-admin mysql-navigator mysql-query-browser
这个应该很简单了,而且我觉得大家在安装方面也没什么太大问题,所以也就不多说了,下面我们来讲讲配置。
配置MySQL
注意,在Ubuntu下MySQL缺省是只允许本地访问的,如果你要其他机器也能够访问的话,那么需要改变/etc/m ......
前不久网上公开了一个MySQL Func的漏洞,讲的是使用MySQL创建一个自定义的函数,然后通过这个函数来攻击服务器。最早看到相关的报道是在o-otik上,但是公布的是针对 Unix系统的Exploit,并且成功率也不是很高.而近期,国内有高手放出针对Win系统的相关文章,于是我马上找来与朋友一同研究.
其实我们早就能想到.当我们在对MSSQL ......