Mysql 索引 转载
转自 :http://blog.csdn.net/wud_jiyanhui/article/details/7403375
什么是索引
这种索引和前面的“普通索引”基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一。
创建方式:和普通索引创建方式一样,将“INDEX”替换成“UNIQUE”就可以了
主键是一种唯一性索引,但它必须指定为“PRIMARY KEY”。每个表只能有一个主键
文本字段上的普通索引只能加快对出现在字段内容最前面的字符串进行的检索操作。如果字段里存放的是由学多个单词构成的大段文字,普通索引就没什么作用“%word%”费时,效率低,响应时间长。
生成全文索引时,mysql将把文中出现的所有单词创建一份清单,查询操作根据这份清单去检索相关数据记录。
但目前全文索引对中文支持很差,需要相关分词插件。(如:http://code.google.com/p/mysqlcft/)
多重索引
由于索引文件以B-树格式保存,MySQL能够立即转到合适的firstname,然后再转到合适的lastname,最后转到合适的age。MySQL只需一次检索就能够找出正确的结果!在没有扫描数据文件任何一个记录的情况下,MySQL就正确地找出了搜索的目标记录!
选择索引列
例子:
SELECT people.age, ##不使用索引
town.name ##不使用索引
FROM people LEFT JOIN town ON
people.townid=town.townid ##考虑使用索引
WHERE firstname='Mike'##考虑使用索引
AND lastname='Sullivan'##考虑使用索引
那么,我们是否可以简单地认为应该索引WHERE子句和join子句中出现的每一个列呢?
差不多如此,但并不完全。我们还必须考虑到对列进行比较的操作符类型。MySQL只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些时候的LIKE。可以在LIKE操作中使用索引的情形是指另一个操作数不是以通配符(%或者_)开头的情形。
分析索引效率
索引设计
Mysql 索引 转载的更多相关文章
- mysql 索引原理及查询优化 -转载
		
转载自 mysql 索引原理及查询优化 https://www.cnblogs.com/panfb/p/8043681.html 潘红伟 mysql 索引原理及查询优化 一 介绍 为何要有索引? ...
 - mysql索引最左匹配的理解(转载于知乎回答)
		
作者:沈杰链接:https://www.zhihu.com/question/36996520/answer/93256153来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出 ...
 - MySQL索引原理及慢查询优化  转载
		
原文地址: http://tech.meituan.com/mysql-index.html MySQL凭借着出色的性能.低廉的成本.丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库.虽然性能 ...
 - 浅谈MySQL索引背后的数据结构及算法(转载)
		
转自:http://blogread.cn/it/article/4088?f=wb1 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储 ...
 - 【转载】MySQL索引原理及慢查询优化
		
原文链接:美团点评技术团队:http://tech.meituan.com/mysql-index.html MySQL凭借着出色的性能.低廉的成本.丰富的资源,已经成为绝大多数互联网公司的首选关系型 ...
 - [转载]MySQL索引原理与慢查询优化
		
好文,以防丢失,故转之,另对排版做简单优化.原文地址:http://ourmysql.com/archives/1401 索引目的 索引的目的在于提高查询效率,可以类比字典,如果要查"mys ...
 - [转]MySQL索引背后的数据结构及算法原理
		
摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BT ...
 - MySQL 索引背后的数据结构及算法原理
		
本文转载自http://blog.jobbole.com/24006/ 摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引 ...
 - Mysql索引介绍及常见索引(主键索引、唯一索引、普通索引、全文索引、组合索引)的区别
		
Mysql索引概念:说说Mysql索引,看到一个很少比如:索引就好比一本书的目录,它会让你更快的找到内容,显然目录(索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要 ...
 
随机推荐
- 【Zhejiang University PATest】02-1. Reversing Linked List
			
Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elem ...
 - I.MX6 KEY_ROW4 can't as GPIO pin
			
/********************************************************************** * I.MX6 KEY_ROW4 can't as GP ...
 - jq实现动态添加样式
			
<script> $(function(){ $("#list_zlm > a").hover(function(){ $(this).addClass(&quo ...
 - mark资料-python编辑器的选择与安装
			
1.pycharm 下载地址: 注册码: 注意事项: 2.ulipad参考虫师的地址 url: 3.eclipse+pydev
 - [转载] codeblocks快捷键
			
==日常编辑== • 按住Ctrl滚滚轮,代码的字体会随你心意变大变小. • 在编辑区按住右键可拖动代码,省去拉(尤其是横向)滚动条之麻烦:相关设置:Mouse Drag Scrolling. • C ...
 - ajax 异步调用把返回值赋给一个全局变量的用法,最主要的就是把async属性改为 false,
			
<script> $(document).ready(function () { <% string dqsj = System.DateTime.Now.ToString(&quo ...
 - Javascript模块化编程(三):require.js的用法【转】
			
作者: 阮一峰 日期: 2012年11月 7日 这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战. 我采用的是一个非常流行的库require.js ...
 - 海量字符串查找——bloom filter,c
			
对于海量字符串的查找,一般有两种方法,一种是建树,还有一种就是bf算法,即布隆过滤器,这个从原来上讲比较简单,也易于实现,主要就是根据哈希算法来实现. int len(char *ch) { int ...
 - HDU 1312 Red and Black --- 入门搜索 DFS解法
			
HDU 1312 题目大意: 一个地图里面有三种元素,分别为"@",".","#",其中@为人的起始位置,"#"可以想象 ...
 - 不小心误删@‘local’操作恢复
			
今天在测试用户权限的时候不小心把User: ''@'localhost';用户删除了 导致任何用户登录都无权限操作 恢复过程 停止mysql服务:在mysql安装目录下找到my.ini(linux下是 ...