mysql 简单优化方法
优化步骤:
1、查看SQL是否可以优化。
2、查看索引是否可以优化。
3、查看表结构是否可以优化。
show table status from databases like 'tablename%'; // 查看表的容量、索引和数据文件的大小
show processlist; // 查看当前链接情况。
explain sql \G // 查看SQL使用的索引的情况。
当确认索引使用没有问题的时候可以查看当前SQL的占用cpu、io等情况。
set profiling=on;
run sql;
show profiles ;// get query id
show profile cpu, block io for query id; // 查看CPU、IO的使用情况。
常用方法:
1、当发现SQL使用了索引,但是索引使用不正确的时候可以强制使用别的索引 ... force index(index_name) from table_name;
2、针对使用索引(单表查询)且含有OR或者IN操作的SQL可以使用 UNION ALL 这样基本上可以节约大约1/2至2/3的时间。
3、只SELECT 使用到的列。
4、explain sql 查看sql语句是否使用索引:
1、如果没有使用索引,要么更改sql语句,要么根据情况添加相应的索引。
2、查询有使用到索引,查看当前索引的cardinality(此索引对应的唯一值的个数),如果相应的cardinality值占比比较低,可以强制使用更好的索引(force index(index_key)
5、在where条件中避免对字段进行null值判断。
原因是:mysql不使用null值作为索引,凡是包含null值的列都不会包含在索引中。(虽然mysql默认值是null)
mysql 简单优化方法的更多相关文章
- redmine在linux上的mysql性能优化方法与问题排查方案
iredmine的linux服务器mysql性能优化方法与问题排查方案 问题定位: 客户端工具: 1. 浏览器inspect-tool的network timing工具分析 2. 浏览 ...
- mysql简单优化思路
mysql简单优化思路 作为开发人员,数据库知识掌握的可能不是很深入,但是一些基本的技能还是要有时间学习一下的.作为一个数据库菜鸟,厚着脸皮来总结一下 mysql 的基本的不能再基本的优化方法. 为了 ...
- 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决(转载)
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- 30多条mysql数据库优化方法【转】
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- mysql分页优化方法
mysql分页优化方法 今天遇到开发反应分页语句很慢,马上看一下到底是啥的分页语句 原分页语句 SELECT * FROM `tt` LIMIT , 执行这个语句需要6秒+时间 执行计划为全表扫描 在 ...
- 转载:30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- MySQL性能优化方法四:SQL优化
原文链接:http://isky000.com/database/mysql-performance-tuning-sql 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需 ...
- MySQL配置文件my.cnf中文详解附mysql性能优化方法分享
Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的 ...
- MySQL简单优化
1:对 MySQL 优化是一个综合性的技术,主要包括: a.标的设计合理(符合 3NF) b.添加适当索引(index)(普通索引.主键索引.唯一索引 unique.全文索引) ...
随机推荐
- js数组的操作
很早之前整理的一篇文章,感觉比较清晰. 一.数组元素的操作 1.数组的创建 var arrayObj = new Array(); var arrayObj = new Array(size); // ...
- CSV表格读取
读取CSV表格需要CSV表格的编码格式为UTF-8 ,这个脚本中有些是为了方便使用封装的dll 不过都是一些简单的实现,自己实现也很容易,可做参考. /// <summary> /// 构 ...
- Find the largest K numbers from array (找出数组中最大的K个值)
Recently i was doing some study on algorithms. A classic problem is to find the K largest(smallest) ...
- iOS视频播放器
用AVPlayer写的一个简单的播放器,支持横竖屏旋转! https://github.com/shumingli/module 欢迎加iOS开发交流群:516318591
- jQuery控件有所感悟
两种写法对比: 第一种: ;(function($){ $.fn.myplugin = function(op,params){ if (typeof op == 'string'){ return ...
- RocketMQ与Kafka对比(18项差异)
转自:https://github.com/alibaba/RocketMQ/wiki/rmq_vs_kafka 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysq ...
- 如何正确建立MYSQL数据库索引
索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytabl ...
- Java 分页通用
1.定义分页模型:PageModel package com.common.page; import java.util.List; /** * 封装分页信息 * @author Administra ...
- Bloom Filter学习
参考文献: Bloom Filters - the math http://pages.cs.wisc.edu/~cao/papers/summary-cache/node8.html B ...
- netty发送utf-8编码的信息
/** * */ @Override public void channelActive(ChannelHandlerContext ctx) throws Exception { // (1) // ...