mysql索引的位置在【数据库安装目录\data\databasename】。索引是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键。

MySQL中索引的简介

(视频教程推荐:mysql视频教程)

在MySQL中,索引(index)也叫做“键(key)”,它是存储引擎用于快速找到记录的一种数据结构。

索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对性能的影响就愈发重要。

索引优化应该是对查询性能优化最有效的手段,创建一个真正最优的索引经常需要重写SQL查询语句。

索引的工作原理

要理解MySQL中索引的工作原理,最简单的方法就是去看一看一本书的索引部分:比如你想在一本书中寻找某个主题,一般会先看书的索引目录,找到对应的章节、对应的页码后就可以快速找到你想看的内容。

在MySQL中,存储引擎用类似的方法使用索引,其先在索引中查找对应的值,然后根据匹配的索引记录找到对应的数据行,最后将数据结果集返回给客户端。

索引的类型

在MySQL中,通常我们所指的索引类型,有以下几种:

常规索引,也叫普通索引(index或key),它可以常规地提高查询效率。一张数据表中可以有多个常规索引。常规索引是使用最普遍的索引类型,如果没有明确指明索引的类型,我们所说的索引都是指常规索引。

主键索引(Primary Key),也简称主键。它可以提高查询效率,并提供唯一性约束。一张表中只能有一个主键。被标志为自动增长的字段一定是主键,但主键不一定是自动增长。一般把主键定义在无意义的字段上(如:编号),主键的数据类型最好是数值。

唯一索引(Unique Key),可以提高查询效率,并提供唯一性约束。一张表中可以有多个唯一索引。

全文索引(Full Text),可以提高全文搜索的查询效率,一般使用Sphinx替代。但Sphinx不支持中文检索,Coreseek是支持中文的全文检索引擎,也称作具有中文分词功能的Sphinx。实际项目中,我们用到的是Coreseek。

外键索引(Foreign Key),简称外键,它可以提高查询效率,外键会自动和对应的其他表的主键关联。外键的主要作用是保证记录的一致性和完整性。

注意:只有InnoDB存储引擎的表才支持外键。外键字段如果没有指定索引名称,会自动生成。如果要删除父表(如分类表)中的记录,必须先删除子表(带外键的表,如文章表)中的相应记录,否则会出错。 创建表的时候,可以给字段设置外键,如 foreign key(cate_id) references cms_cate(id),由于外键的效率并不是很好,因此并不推荐使用外键,但我们要使用外键的思想来保证数据的一致性和完整性。

数据库索引的位置

默认是这里 (数据库安装目录\data\某个数据库 )中的数据库文件不像sqlserver,数据库文件都有后缀

例如:

数据文件:. myd

索引文件:. MYI

表定义文件:. frm

mysql查询索引位置_mysql索引在什么位置相关推荐

  1. mysql索引总结_mysql 索引类型以及创建

    文章归属:http://feiyan.info/16.html  自己还是小白,从借鉴别人的东西开始学习. 关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没 ...

  2. MySQL查询性能优化七种武器之索引下推

    前面已经讲了MySQL的其他查询性能优化方式,没看过可以去了解一下: MySQL查询性能优化七种武器之索引潜水 MySQL查询性能优化七种武器之链路追踪 今天要讲的是MySQL的另一种查询性能优化方式 ...

  3. mysql 索引计划_Mysql索引、查询计划、优化方向

    索引 Innodb索引(聚集索引)(聚簇表分布) Innodb是索引组织表,其结构是B+Tree.其表索引结构是聚簇表分布. 其叶子节点保存了Key+Row Data(聚集索引,按主键排序),其Key ...

  4. MySQL建立的索引看_MYSQL索引问题:索引在查询中如何使用?看了很多资料都只说索引的建立。是否建立了就不用再理会?...

    # 有这样一个表 P mysql> create table P (id int primary key, name varchar(10) not null, sex varchar(1), ...

  5. mysql查询中怎样使用索引_MySQL如何使用索引

    初始化测试数据 创建一个测试用的表 create tabledept( idint primary keyauto_increment , deptNamevarchar(32) not null u ...

  6. mysql 子查询索引失效_mysql 索引失效的情况

    索引失效的几种情况 1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因) 要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引 2.对于多列索引,不是使用 ...

  7. mysql的索引优化_MySQL索引优化与分析(重要)

    建表SQL CREATE TABLE staffs ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR (24) NULL DEFAULT '' COM ...

  8. mysql索引分析_MySQL索引分析和优化

    什么是索引? 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里面 ...

  9. mysql 索引 原理_MySQL索引实现原理分析

    目前大部分数据库系统及文件系统都采用B-Tree(B树)或其变种B+Tree(B+树)作为索引结构.B+Tree是数据库系统实现索引的首选数据结构.在MySQL中,索引属于存储引擎级别的概念,不同存储 ...

最新文章

  1. python的模块itsdangerous
  2. Spark源码的编译过程详细解读(各版本)(博主推荐)
  3. 悲观锁和乐观锁的详细分析
  4. java和python哪个编程好找工作_学编程选Python还是Java?就业发展哪个好??
  5. oracle 给表空间改名,Oracle重命名表空间和删除表空间
  6. 洛谷P1364 医院设置
  7. GitHub资源学习的网址(未完待续)
  8. eclipse中使用maven插件的时候,运行tomcat7:run的时候报错
  9. FCKeditor编辑器详解
  10. 10款开源网上教学课程管理系统
  11. 学生成绩分析之成绩的预处理 python3 pandas 学生成绩汇总到一张表
  12. Inkscape如何将png图片转换为svg图片并且不失真
  13. windows任务栏黑屏不响应?
  14. Mybatis测试运行异常之Type interface com.testmybatis.dao.bill.BillMapper is not known to the MapperRegistry.
  15. 测试用例(功能用例)——登录、首页、个人信息
  16. const violate
  17. 人工智能——线性回归(Python实现)
  18. 常微分方程数值解matlab欧拉,matlab 常微分方程数值解法 源程序代码
  19. 数分笔记整理24 - 数据处理项目 - 社会财富分配问题模拟
  20. 体系|一文读懂生产质量管理规范现场检查指导原则-机构和人员

热门文章

  1. 通过transmittable-thread-local源码理解线程池线程本地变量传递的原理
  2. 阿里专家常昊:新人如何上手项目管理?
  3. 张一鸣:优秀年轻人的五个特点
  4. 图像处理经典文章合集
  5. recyclerview 设置分割线的高度
  6. React 组件的生命周期详解
  7. 深入剖解linux逻辑卷LVM
  8. C# SuperSocket服务端入门(一)
  9. ubuntu 清空/tmp目录
  10. 如何快速定位不小心暴露到全局的变量