MySQL是一个关系型的数据库

使用标准的SQL数据格语言格式

支持大型数据库,处理千万级别的记录数据

允许多系统运行,支持多种编程语言连接

最重要的一点是MySQL允许定制,采用GPL协议,允许修改MySQL源码来实现定制SQL系统

在Linux安装MySQL:【省略】

MyISAM & InnoDB

MyISAM

不支持主外键,不支持事务,仅有表锁,不适合高并发操作

缓存只缓存索引,不支持缓存真实数据

表空间小,注重的是数据库管理系统的性能问题

InnoDB

支持主外键,支持事务管理,使用行锁控制,适合高并发操作

缓存索引和真实数据,对内存要求较高,而且内存大小对性能的影响是决定性的

表空间占用相比MyISAM较大,关注的重点是对事物的管理控制

SQL查询性能下降的原因:

- SQL语句写的不够优雅

- 索引失效

- 关联查询关联表过多【需求所迫】

- 服务器调优和各个参数设置(缓冲,线程数)

首先是对数据的排序整理,在检索的时候效率更快。

索引 Index

索引分为了两种,第一种是单值索引,第二种是复合索引

单值索引的创建,即给某一个字段创建索引

CREATE [UNIQUE | FULLTEXT | SPATAL] INDEX 索引名称 ON 表名(字段名[索引长度]);

可选参数的说明:

1、UNIQUE       唯一索引

2、FULLTEXT    全文索引

3、SPATAL        空间索引

索引名称的规范:

idx_表名_字段名

复合索引,就是对一个字段以上的多字段同时创建索引

create index 索引名称 on 表名(字段1,字段2,字段3)

复合索引的名称规范:

idx_表名_字段名1字段名2字段名3
【按照小驼峰方式命名】

查看索引:

SHOW INDEX FROM 表名称

显示的参数信息:

1、table                 表格名称

2、non_unique       索引是否唯一,1不是,0是

3、key_name         索引名称

4、seq_in_index     该列在索引中的顺序位置,单索引值为1,复合索引按定义的顺序返回顺序值

5、column_name    定义索引的列名

6、sub_part            索引长度

7、null                    该列是否能为空

8、index_type          索引类型

索引删除:

DROP INDEX 表的名称.索引名称

常见的Join查询:

SQL语法顺序

SELECT DISTINCT
要查询的字段,表达式,就是查询列表
FROM
查询列表的来源表,
多表查询的关联条件
WHERE
首要的筛选条件
GROUP BY
对上面查询的结果再进字段的分组
HAVING
对分组的字段进行筛选条件
ORDER BY
然后进行字段排序
LIMIT
对以上查询的结果,分页查询

SQL执行顺序:

关于数据库管理系统,按照机器运行SQL的顺序:

- 1、检索数据库查看FROM子句是选择了哪些数据表

- 2、多表关联,查看关联条件的构成

- 3、检查是否带有WHERE子句的筛选条件

- 4、检查是否需要GROUP BY分组查询数据

- 5、检查是否需要HAVING对分组后的数据二次筛选条件

- 6、回到最开始的SELECT子句的查询列表,把结果返回到这些要求的字段中

- 7、DISTINCT 子句 对查询结果去除重复

- 8、ORDER BY 子句 进行升序降序处理

- 9、LIMIT 子句 进行分页处理

7种连接方式:

- 左外右 + 外连接

- 全外连接【笛卡尔积】

- 内连接

【MySQL】29 索引的更多相关文章

  1. B+Tree原理及mysql的索引分析

    一.索引的本质 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构.提取句子主干,就可以得到索引的本质:索引是数据结构. 我们知道,数据库查询是数据库的最主要功能之 ...

  2. 【mysql】索引原理-MySQL索引原理以及查询优化

    转载:https://www.cnblogs.com/bypp/p/7755307.html 一.介绍 1.什么是索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性 ...

  3. 数据库MySQL 之 索引原理与慢查询优化

    数据库MySQL 之 索引原理与慢查询优化 浏览目录 索引介绍方法类型 聚合索引辅助索引 测试索引 正确使用索引 组合索引 注意事项 查询计划 慢查询日志 大数据量分页优化 一.索引介绍方法类型 1. ...

  4. mysql数据库----索引原理与慢查询优化

    一.介绍 1.什么是索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语 ...

  5. mysql:索引原理与慢查询优化

    一 索引的原理 1. 索引原理 索引的目的在于提高查询效率,与我们查阅图书所用的目录是一个道理:先定位到章,然后定位到该章下的一个小节,然后找到页数.相似的例子还有:查字典,查火车车次,飞机航班等 本 ...

  6. mysql六:索引原理与慢查询优化

    一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句 ...

  7. 十、mysql之索引原理与慢查询优化

    mysql之索引原理与慢查询优化 一.介绍 1.什么是索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还 ...

  8. MySQL之索引(二)

    高性能的索引策略 正确地创建和使用索引是实现高性能查询的基础.在MySQL之索引(一)这一章中我们介绍了各种类型的索引及其对应的优缺点.现在我们一起来看看如何真正地发挥这些索引的优势. 独立的列 我们 ...

  9. 单点突破:MySQL之索引

    前言 开发环境:MySQL5.7.31 什么是索引 在MySQL中,索引(Index)是帮助高效获取数据的数据结构. 我们可以将数据库理解为一本书,数据库中的各个数据列(column)就是目录中的章节 ...

  10. 【mysql】索引优化分析

    1. 索引的概念 1.1 索引是什么 MySQL 官方对索引的定义为:索引(Index)是帮助MySQL 高效获取数据的数据结构.可以得到索引的本质:索引是数据结构.可以简单理解为排好序的快速查找数据 ...

随机推荐

  1. MySQL插入中文数据时发生错误或者乱码的一些坑

    最近新入职的工作,火急火燎就下了个mysql,没想到安装时配置没弄好.今天在测试数据时,插入中文数据到mysql都是问号,先后查了半天修改表结构,数据库编码,my.ini文件都没有用. 首先第一步,打 ...

  2. echarts柱状图横(x)轴文字显示不全,一招解决

    柱状图底部X轴文字过长时,将会出现文字显示不全的问题,这是echarts为了美观默认的设置 现在我们把文章倾斜旋转点角度即可全部显示 以下是代码 scale() { var chartDom = do ...

  3. postman Could not get any response 无法请求

    外网访问接口地址,刚开始考虑到是阿里云服务器上面的ECS网络安全策略拦截,添加了白名单, 首先在浏览器中回车访问,页面有反应. 但是在postman中请求,仍然返回 Could not get any ...

  4. 认真学习CSS3-问题收集-101号-莫名其妙的row行高

    其他人都有事情,有些事情只好自己上阵,自己做,最踏实! 做了两个基本一样的页面,都是采用bootsrap+jquey+js的技术,业务内容就是简单的查询,加上一些简单的效果,没有啥特别的内容. 由于历 ...

  5. Netty(三)Netty模型

    1. Netty模型 Netty主要基于主从Reactor多线程模型做了一定的改进,其中主从Reactor多线程模型有多个Reactor. 简版图: 说明: BossGroup线程维护Selector ...

  6. 题解:洛谷 P1137 旅行计划

    标签:图论,拓扑,dp 题意 给定一张 \(n\) 个点 \(m\) 条边的 DAG,对于每个 \(i\),求以它为终点最多经过多少个点? 思路 由于是 DAG,求的是终点 \(i\) 经过的所有点, ...

  7. power bi权限控制笔记

    power bi权限控制:power bi权限控制角色目前只能在desktop 客户端进行创建.报表进行权限控制后,用于行级别安全,需注意:a.对数据集做行级别安全性的角色分配 b.需要进行报表的共享 ...

  8. 【Hive报错】在hue上执行自定义的hive函数报错 Error while compiling statement:FAILED:SemanticException [Error 10011]: Invalid function default.sqlServerdes

    在 Hive客户端中使用自定义创建UDF函数时,报"ERROR 10011","invalid function"的异常: 在Hive上自定义创建了一个函数,在 ...

  9. 【AppStore】一文让你学会IOS应用上架Appstore

    前言 咱们国内现在手机分为两类,Android手机与苹果手机,现在用的各类APP,为了手机的使用安全,避免下载到病毒软件,官方都极力推荐使用手机自带的应用商城进行下载,但是国内Android手机品类众 ...

  10. .NET CORE 部署提示 An error occurred while starting the application.

    错误提示: 解决方法 检查一下nuget引用包 是否更新了版本,如果升级或者降级了版本,需要将新的dll文件更新一下