本篇博客讲的是MySQL的索引的功能和使用,以及存储引擎的基本简介
<强> 强>
索引在MySQL中叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对良好的性能非常关键,尤其是<强>当表中的数据量越来越大时,索引对于性能的影响愈来愈发重要。强>
作用:
用<强>生活实例强>来说,索引就好像书的目录,清单上的列表;好比人去吃火锅 , 当菜单拿到客户手上 , 客户可以根据菜单上的分类(海鲜 , 蔬菜类 , 肉类 , 饮料类等) , 根据自己的口味能第一时间找到自己想吃的菜 .
索引可分为 : 普通索引 , 唯一索引 , 全文索引 , 单列索引 , 多列索引 , 空间索引
语法格式:
CREATE TABLE 表名 (
字段名1 数据类型 [完整性约束条件…],
字段名2 数据类型 [完整性约束条件…],
);
示例 :
CREATE TABLE dept(
dept_id INT,
dept_name VARCHAR(30) ,
comment VARCHAR(50),
(dept_name)
);
CREATE TABLE dept2 (
dept_id INT,
dept_name VARCHAR(30) ,
comment VARCHAR(50),
(dept_name)
);
相比普通索引来说 , 比上面的索引选项多了一个unique选项
CREATE TABLE dept3 (
dept_id INT,
dept_name VARCHAR(30) ,
comment VARCHAR(50),
log text,
);
CREATE TABLE dept13 (
dept_id INT,
dept_name VARCHAR(30) ,
comment VARCHAR(50),
(, )
);
相比普通索引来说 , 就是将多个字段设置为索引
| | SPATIAL ] INDEX (字段名[(长度)] [ASC |DESC]) ;
创建普通索引示例:此方法要指定索引名称
CREATE INDEX (dept_name);
创建唯一索引示例:
CREATE (dept_name);
创建全文索引示例:
CREATE (dept_name);
创建多列索引示例:
CREATE INDEX (dept_name, comment);
[UNIQUE | FULLTEXT | SPATIAL ]
索引名 (字段名[(长度)] [ASC |DESC]) ;
: show create table 表名\G
: explain select * from 表名 where 字段名='xx';
drop index 索引名>mysql> 分隔符$ $//设置命令的界定符(也称为结束符) mysql>创建过程autoinsert1()//创建autoinsert1这个存储过程(类似于shell脚本) →开始 →声明我int默认1; →而(i<100000) →插入学校。t2值(我,“ccc”); →我=+ 1; →结束时; →结束$ $ mysql>分隔符; 调用atuoinsert1 ();
从上述实验可以看的到,在一个存放1000 w的表中,查询一条数据跟创建索引后查询一条数据相差了4 s的时间,随着数据更大,查询时间也会不断增大,所以足以证明,
了就是如何,如何为存储的数据和如何,等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为<强> 强>(即存储和操作此表的类型)
在Oracle和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySQL数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据自己的需要编写自己的存储引擎。
显示引擎;
显示引擎\ G查看MySQL支持的存储引擎
显示变量如“storage_engine %”;查看当前的存储引擎
显示变量如“auto_inc %”;查看自增长的设置状态
显示全局变量就像“%概念网络%”查看概念网络环境变量设置
mysql>查看所有的环境变量
显示变量当前的会话
显示全局变量\ G全局