分析MySQL各项指标

MySQL各项指标(因为这不是大多数搜索引擎的区别故意)

INDEX(总指数):主要指标,不管是什么限制

ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

UNIQUE(唯一索引):与"普通索引"类似。不同的就是:索引列的值必须唯一。但同意有空值。

ALTER TABLE `table_name` ADD UNIQUE (`column`)

注:创建唯一索引的目的不是为了提高訪问速度,而仅仅是为了避免数据出现反复。唯一索引能够有多个但索引列的值必须唯一,索引列的值同意有空值。假设能确定某个数据列将仅仅包括彼此各不同样的值,在为这个数据列创建索引的时候就应该使用keywordUNIQUE,把它定义为一个唯一索引。

PRIMARY KEY(主键索引):它 是一种特殊的唯一索引。不同意有空值。

ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )

FULLTEXT(全文索引):仅可用于 MyISAM 表。针对较大的数据,生成全文索引非常耗时好空间。

ALTER TABLE `table_name` ADD FULLTEXT ( `column` )

COMBINED(组合索引):为了很多其它的提高mysql效率可建立组合索引。遵循”最左前缀“原则。

ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

使用索引应该知道的事:

1、尽管索引大大提高了查询速度,同一时候却会减少更新表的速度,如对表进行INSERT、UPDATE和DELETE。

由于更新表时。MySQL不仅要保存数据,还要保存一下索引文件。

2、建立索引会占用磁盘空间的索引文件。

普通情况这个问题不太严重。但假设你在一个大表上创建了多种组合索引。索引文件的会膨胀非常快。

3、索引仅仅是提高效率的一个因素,假设你的MySQL有大数据量的表。就须要花时间研究建立最棒的索引。或优化查询语句。

建索引之后你要保护索引良好的运行:

请參照保护指数要考虑的问题本文。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-11-10 13:10:54

分析MySQL各项指标的相关文章

深入浅出分析MySQL索引设计背后的数据结构

在我们公司的DB规范中,明确规定: 1.建表语句必须明确指定主键 2.无特殊情况,主键必须单调递增 对于这项规定,很多研发小伙伴不理解.本文就来深入简出地分析MySQL索引设计背后的数据结构和算法,从而可以帮你释疑如下问题: 1.为什么innodb表需要主键? 2.为什么建议innodb表主键是单调递增? 3.为什么不建议innodb表主键设置过长? B-tree(多路搜索树,并不是二叉的)是一种常见的数据结构.使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度.B通常

服务器各项指标的图形化显示

在机房的监控时,经常需要去查看某个机柜中的某一台服务器的各项指标,比如该台服务器的CPU的使用情况.该台服务器的硬盘的使用情况.以及网络的流量等等,以下我们将用TWaver 3D来实现一下该例子: 创建服务器上面显示的"磁盘空间","CPU占用率","内存空间"的函数: 1 function createPie(box, x,y,z, arc, color, text){ 2 var innerNode=createPieNode(box, 22

分析Mysql慢日志脚本及快速定位慢Sql

分析Mysql慢日志是运维工作中,不可少的.要快速定位慢Sql,以及发现后优化Sql及修改业务,保证数据库稳定高效地工作.下面是我工作中解决的思路... 1.先查看本地数据库慢日志文件 2.编写分析慢日志脚本 #!/usr/bin/python #coding=utf-8  #字符编码 import re  #导入正则匹配模块 import time #导入时间模块 import sys  #导入sys模块 import MySQLdb #导入连接mysql模块 canshu=len(sys.a

[转]分析MySQL数据类型的长度【mysql数据字段 中length和decimals的作用!熟悉mysql必看】

你看到的这个文章来自于http://www.cnblogs.com/ayanmw 转载自:http://blog.csdn.net/daydreamingboy/article/details/6310907 分析MySQL数据类型的长度 MySQL有几种数据类型可以限制类型的"长度",有CHAR(Length).VARCHAR(Length).TINYINT(Length).SMALLINT(Length).MEDIUMINT(Length).INT(Length).BIGINT(L

mysqldumpslow 分析slow query日志和explain分析mysql查询结构

mysqldumpslow的使用:比如我们要查询按时间返回前5条日志信息,格式如下:mysqldumpslow -s t -t 5 /var/log/mysql/slowquery_20180303.log 参数说明:-s:排序方式 按锁的时间l.返回的记录数r.查询的时间t.记录的次数c,倒序的话可以加r-t:查询前多少条记录-g:支持正则表达式,以及忽略大小写 顺便说下explainexplain用来分析mysql查询结构的主要关注四个参数值:type.key.rows.extras访问类型

strace 命令分析mysql的相关的问题

strace 命令分析mysql的相关的问题 使用方式: strace -p pid or strace command 本篇博文主要简单介绍下面关于MySQL的5个问题: 利用strace观察mysqld对my.cnf 配置文件的加载顺序 MySQL启动后默认会启动多少线程 如何匹配conn_id和os_thread_id 利用strace观察client的SQL执行 利用strace观察server端执行 1.strace观察mysqld对my.cnf 配置文件的加载顺序 命令如下: str

通过micrometer实时监控线程池的各项指标

通过micrometer实时监控线程池的各项指标 前提 最近的一个项目中涉及到文件上传和下载,使用到JUC的线程池ThreadPoolExecutor,在生产环境中出现了某些时刻线程池满负载运作,由于使用了CallerRunsPolicy拒绝策略,导致满负载情况下,应用接口调用无法响应,处于假死状态.考虑到之前用micrometer + prometheus + grafana搭建过监控体系,于是考虑使用micrometer做一次主动的线程池度量数据采集,最终可以相对实时地展示在grafana的

优化、分析Mysql表读写、索引等操作的sql语句效率优化问题

为什么要优化: 随着实际项目的启动,数据库经过一段时间的运行,最初的数据库设置,会与实际数据库运行性能会有一些差异,这时我们 就需要做一个优化调整. 数据库优化这个课题较大,可分为四大类: >主机性能>内存使用性能>网络传输性能>SQL语句执行性能[软件工程师]下面列出一些数据库SQL优化方案: (01)选择最有效率的表名顺序(笔试常考) 数据库的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表将被最先处理,在FROM子句中包含多个表的情况下,你必须选择

利用strace和perf分析MySQL运行

利用strace和perf分析MySQL运行 周万春 perf strace pstack pt-pmp 都是一类工具 [[email protected] ~]# perf top Samples: 330 of event 'cpu-clock', 4000 Hz, Event count (approx.): 42848685 lost: 0/0 drop: 0/0 Overhead Shared Object Symbol 21.09% [kernel] [k] vmw_cmdbuf_h