mysql查询索引位置_mysql索引在什么位置
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索引在什么位置相关推荐
- mysql索引总结_mysql 索引类型以及创建
文章归属:http://feiyan.info/16.html 自己还是小白,从借鉴别人的东西开始学习. 关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没 ...
- MySQL查询性能优化七种武器之索引下推
前面已经讲了MySQL的其他查询性能优化方式,没看过可以去了解一下: MySQL查询性能优化七种武器之索引潜水 MySQL查询性能优化七种武器之链路追踪 今天要讲的是MySQL的另一种查询性能优化方式 ...
- mysql 索引计划_Mysql索引、查询计划、优化方向
索引 Innodb索引(聚集索引)(聚簇表分布) Innodb是索引组织表,其结构是B+Tree.其表索引结构是聚簇表分布. 其叶子节点保存了Key+Row Data(聚集索引,按主键排序),其Key ...
- MySQL建立的索引看_MYSQL索引问题:索引在查询中如何使用?看了很多资料都只说索引的建立。是否建立了就不用再理会?...
# 有这样一个表 P mysql> create table P (id int primary key, name varchar(10) not null, sex varchar(1), ...
- mysql查询中怎样使用索引_MySQL如何使用索引
初始化测试数据 创建一个测试用的表 create tabledept( idint primary keyauto_increment , deptNamevarchar(32) not null u ...
- mysql 子查询索引失效_mysql 索引失效的情况
索引失效的几种情况 1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因) 要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引 2.对于多列索引,不是使用 ...
- mysql的索引优化_MySQL索引优化与分析(重要)
建表SQL CREATE TABLE staffs ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR (24) NULL DEFAULT '' COM ...
- mysql索引分析_MySQL索引分析和优化
什么是索引? 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里面 ...
- mysql 索引 原理_MySQL索引实现原理分析
目前大部分数据库系统及文件系统都采用B-Tree(B树)或其变种B+Tree(B+树)作为索引结构.B+Tree是数据库系统实现索引的首选数据结构.在MySQL中,索引属于存储引擎级别的概念,不同存储 ...
最新文章
- python的模块itsdangerous
- Spark源码的编译过程详细解读(各版本)(博主推荐)
- 悲观锁和乐观锁的详细分析
- java和python哪个编程好找工作_学编程选Python还是Java?就业发展哪个好??
- oracle 给表空间改名,Oracle重命名表空间和删除表空间
- 洛谷P1364 医院设置
- GitHub资源学习的网址(未完待续)
- eclipse中使用maven插件的时候,运行tomcat7:run的时候报错
- FCKeditor编辑器详解
- 10款开源网上教学课程管理系统
- 学生成绩分析之成绩的预处理 python3 pandas 学生成绩汇总到一张表
- Inkscape如何将png图片转换为svg图片并且不失真
- windows任务栏黑屏不响应?
- Mybatis测试运行异常之Type interface com.testmybatis.dao.bill.BillMapper is not known to the MapperRegistry.
- 测试用例(功能用例)——登录、首页、个人信息
- const violate
- 人工智能——线性回归(Python实现)
- 常微分方程数值解matlab欧拉,matlab 常微分方程数值解法 源程序代码
- 数分笔记整理24 - 数据处理项目 - 社会财富分配问题模拟
- 体系|一文读懂生产质量管理规范现场检查指导原则-机构和人员