mysql数据库添加索引优化查询效率

项目中如果表中的数据过多的话,会影响查询的效率,那么我们需要想办法优化查询,通常添加索引就是我们的选择之一;

1.添加PRIMARY KEY(主键索引) 
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 
2.添加UNIQUE(唯一索引) 
mysql>ALTER TABLE `table_name` ADD UNIQUE ( 
`column` 

3.添加INDEX(普通索引) 
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 
4.添加FULLTEXT(全文索引) 
mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`) 
5.添加多列索引 
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

例如:

我们来尝试为test中t_name字段添加一个索引。

mysql> alter table test add index(t_name);
Query OK, 0 rows affected (0.17 sec)
Records: 0  Duplicates: 0  Warnings: 0

执行成功后,我们来看看结果。

mysql> describe test;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| t_id       | int(11)     | YES  |     | NULL    |       |
| t_name     | varchar(50) | NO   | MUL | NULL    |       |
| t_password | char(32)    | YES  |     | NULL    |       |
| t_birth    | date        | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

时间: 2025-01-18 09:09:32

mysql数据库添加索引优化查询效率的相关文章

为MySQL数据库添加索引

为mysql数据库建立索引 转载:http://www.cnblogs.com/cy163/archive/2008/10/27/1320798.html 最普通的情况,是为出现在where子句的字段建一个索引.为方便讲述,我们先建立一个如下的表. Code代码如下: CREATE TABLE mytable ( id serial primary key, category_id int not null default 0, user_id int not null default 0, a

mysql使用索引优化查询效率

索引的概念 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针.更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度.在没有索引的情况下,数据库会遍历全部数据后选择符合条件的:而有了相应的索引之后,数据库会直接在索引中查找符合条件的选项.如果我们把SQL语句换成"SELECT * FROM 表名 WHERE id=2000000",那么你是希望数据库按照顺序读取完200万行数据以后给你结果还是直接在索引中定位

数据库建索引提高查询效率

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个相

mysql数据库的索引

day04  MySQL数据库的索引 一.索引概述: 索引是由一张表中的某个列或多列组成,而创建索引的目的是为了更优化管理我们的数据库表,提升我们查询使用数据库表的速度. 二.索引 1.索引的分类: 索引分为多种索引,具体的索引在下图中可以看见 普通索引:不应用任何限制条件的索引,可以在任何类型的数据库中创建. 唯一索引:使用unique参数可以设置唯一索引.必须是唯一的,主键是一种特殊的唯一索引. 全文索引:使用fulltext参数可以设置索引的全文索引,只能够创建在char.varchar或

Mysql数据库的索引和视图详解

Mysql数据库的索引和视图详解 索引的概念 数据库的索引与书籍中的目录类似在一本书中,无需阅读整本书,利用目录就可以快速查找所需信息书中的目录是一个词语列表,其中注明了包含各个词的页码数据库索引在数据库中,索引数据库程序无需对整个表进行扫描,就可以在其中找到所需数据数据库中的索引是某个表中一列或若干列的集合,以及物理标识这些值的数据页的逻辑指针清单 索引的作用 设置了合适的索引之后,数据库利用葛总快速的定位技术,能够大大加快查询速率特别是当表很大时,或者查询涉及到多个表时,使用索引可使查询加快

Ansible 从MySQL数据库添加或删除用户

mysql_user - 从MySQL数据库添加或删除用户. 概要 要求(在执行模块的主机上) 选项 例子 笔记 状态 支持 概要 从MySQL数据库添加或删除用户. 要求(在执行模块的主机上) MySQLdb的 选项 参数 需要 默认 选择 注释 append_privs (1.4 加入) no no yes no 将priv定义的权限附加到此用户的现有权限,而不是覆盖现有的权限. check_implicit_admin (1.3 加入) no no yes yes 检查mysql是否允许以

Java对MySQL数据库进行连接、查询和修改(转)

Java对MySQL数据库进行连接.查询和修改 0. 一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象. (3) 创建一个Statement对象,准备一个SQL语句,这个SQL语句可以是Statement对象(立即执行的的语句).PreparedStatement语句(预编译的语句)或CallableStatement对象(存储过程调用的语句). (4) 调用

(2)mysql优化之使用索引优化查询

概述 ??索引是数据库优化中最常用的也是最重要的手段之一.该篇看看索引的分类,使用场景,不能使用的场景等. 索引分类 ??索引是在mysql存储引擎中实现的,而不是在服务器层实现的.索引每种存储引擎的索引不一定相同.mysql支持4种索引: B-tree索引:最常见索引,大部分引擎都支持B树索引. full-text索引:全文索引. hash索引:只有memory引擎支持. R-Tree索引:空间索引是myisam的一种特殊索引,使用比较少. 衍生索引:主键,唯一索引,组合索引,前缀索引等.ha

MySQL添加索引优化SQL

在慢查询日志中有一条慢SQL,执行时间约为3秒 mysql> SELECT     -> t.total_meeting_num,     -> r.voip_user_num     -> FROM     -> (     -> SELECT     -> count(*) total_meeting_num     -> FROM     -> Conference     -> WHERE     -> isStart = 1