`
yjl49
  • 浏览: 113757 次
社区版块
存档分类
最新评论

MySQL索引(一)

    博客分类:
  • DB
阅读更多

数据库开发中索引的使用占了很重要的位置,好的索引会使数据库的读写效率加倍,烂的索引则会拖累整个系统甚至引发灾难。

索引分三类:

index ----普通的索引,数据可以重复

unique ----唯一索引,唯一索引,要求所有记录都唯一

primary key ----主键索引,也就是在唯一索引的基础上相应的列必须为主键

一般的创建索引的语句如下:

 

MySQL 中会对 <,<=,=,>,>=,BETWEEN,IN 以及不以% _ 开头的like 语句使用索引。

 

 

为证实like处理方法以下为一个简单的测试:

 

 


先不添加索引,随机插入100W 条记录,并测试like 的查询速度。

 

 

使用前后% 测试like 查询速度:

 

 

70231条 用时0.531s

 

 

961406条用时1.422s

 

 

下面加入索引:

 


再次测试like 的查询速度:

 

70231条 用时1.094s

961406条用时1.485s

表为MyISAM格式。 可以看到加了索引后查询的效率并未得到提升。再使用 explain 关键字查看 like 'ab%' 的运行情况:

EXPLAIN
SELECT *
FROM tb_test IGNORE INDEX(my_index)
WHERE fval LIKE '%ab';


EXPLAIN SELECT *
FROM tb_test
WHERE fval LIKE '%ab';

分享到:
评论

相关推荐

    04-VIP-Mysql索引优化实战一.pdf

    MySQL索引优化是数据库性能提升的关键环节,本篇主要探讨了几个关于MySQL索引使用和优化的重要知识点。 首先,创建了一个名为`employees`的员工记录表,其中包含`id`(主键)、`name`、`age`、`position`和`hire_...

    MySQL 索引最佳实践

    ### MySQL索引最佳实践 #### 理解索引的重要性 在数据库管理中,索引是一种数据结构,用于提高查询速度。它对于开发者和数据库管理员(DBA)来说至关重要。索引选择不当可能会导致生产环境中的诸多问题。尽管索引...

    mysql 索引与执行计划

    索引(Index)在MySQL中是一种帮助数据库高效获取数据的数据结构。它类似于现实生活中书籍的目录,能够显著提高数据检索的速度。通过索引,数据库可以更快地定位到所需的数据记录,从而减少查询时间。 例如,在查找...

    mysql存储与索引技术

    MySQL 数据库是一个广泛使用的开源关系型数据库管理系统,其性能很大程度上取决于存储引擎和索引的选取与使用。本文将深入探讨 MySQL 中的存储引擎和索引技术,帮助优化数据库性能。 首先,MySQL 提供了多种存储...

    MySQL索引类型大汇总

    建立组合索引可以提高查询效率,因为 MySQL 只需要扫描一次索引就可以找到所有相关的记录,而不是扫描所有记录。 5.索引的优点 索引可以带来以下几个优点: * 提高查询速度 * 降低数据库的负载 * 提高数据库的...

    MySQL索引最佳实践

    #### 一、理解MySQL索引的重要性 索引是数据库性能优化中最常用也是最重要的手段之一。合理的索引设计可以显著提高查询效率,减少服务器资源的消耗。在MySQL中,索引的选择与配置对于开发人员和数据库管理员来说至...

    MySQL索引 聚集索引

    MySQL索引 聚集索引 如果你想了解MySQL索引查询优化,你首先应该对MySQL数据组织结构、B-Tree索引、聚集索引,次要索引有一定的了解,才能够更好地理解MySQL查询优化行为。这里主要探讨MySQL InnoDB的聚集索引。

    MySql索引详解,索引可以大大提高MySql的检索速度

    打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到...

    MySQL索引优化课件

    MySQL索引优化是数据库性能提升的关键技术之一,尤其在处理大量数据时,高效索引能够显著加快查询速度,降低服务器负载。本课件主要聚焦于MySQL数据库的索引原理、优化策略以及相关存储过程和触发器的应用。 首先,...

    MySQL索引 使用笔记

    【MySQL索引 使用笔记】 MySQL数据库是世界上最流行的开源关系型数据库管理系统之一,其高效的数据查询能力在很大程度上依赖于索引。本笔记将深入探讨MySQL中的索引使用,旨在帮助你提升数据库性能。 1. 索引的...

    MySQL Innodb 索引原理详解

    ### MySQL Innodb 索引原理详解 #### 1. 各种树形结构 在深入探讨MySQL Innodb索引之前,我们先了解几种基本的树形数据结构,包括二叉搜索树、B树、B+树以及B*树。 ##### 1.1 搜索二叉树(Binary Search Tree) ...

    7月6日 MySQL索引篇

    7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7...

    mysql的索引优化

    - **索引结构**:MySQL索引通常是以B树形式存储的。B树具有良好的查询性能,即使在大型数据集中也能保持高效的查找能力。 - **索引的组成**:对于每个索引项,MySQL都会保存一个指向实际数据文件中记录位置的“指针...

    MySQL索引分析和优化.pdf

    **MySQL索引**本质上是用来加快数据检索过程的一种数据结构,类似于书籍中的目录。当执行查询时,如果涉及到的列已经建立了索引,MySQL可以通过索引来快速定位到所需数据的位置,从而大大减少查找时间。 - **无索引...

    mysql索引和锁机制ppt介绍

    ### MySQL索引和锁机制详解 #### 一、索引基础 **索引定义:** 索引是MySQL中用于提高查询效率的一种数据结构。通过索引可以在数据表中快速定位到所需的数据行,大大减少不必要的全表扫描。 **索引的重要性:** 1....

    mysql索引导出删除

    首先,让我们了解什么是MySQL索引。MySQL中的索引是一种特殊的数据结构,它为数据库表中的数据提供了快速访问的途径。常见的索引类型包括B-Tree(默认)、Hash、R-Tree和Full-text等。B-Tree索引是最常见的一种,...

Global site tag (gtag.js) - Google Analytics