Mysql常见的优化策略
数据库设计方面优化
1、数据库设计符合第三范式,为了查询方便可以有一定的数据冗余。
2、选择数据类型优先级 int > date,time > enum,char>varchar > blob,选择数据类型时,可以考虑替换,如ip地址可以用ip2long()函数转换为unsign int型来进行存储。
3、对于char(n)类型,在数据完整的情况下尽量较小的的n值。
4、在建表时用partition命令对单个表分区可以大大提升查询效率,MySQL支持RANGE,LIST,HASH,KEY分区类型,其中以RANGE最为常用,分区方式为:
  CREATE TABLE tablename{
  }ENGINE innodb/myisam CHARSET utf8 //选择数据库引擎和编码
  PARTITION BY RANGE/LIST(column),//按范围和预定义列表进行分区
  PARTITION partname VALUES LESS THAN /IN(n),//命名分区并详细限定分区的范围
5、选择数据库引擎时要注意innodb 和 myisam的区别。
  存储结构:MyISAM在磁盘上存储成三个文件。而InnoDB所有的表都保存在同一个数据文件中,一般为2GB
  事务支持:MyISAM不提供事务支持。InnoDB提供事务支持事务。
  表锁差异:MyISAM只支持表级锁。InnoDB支持事务和行级锁。
  全文索引:MyISAM支持 FULLTEXT类型的全文索引(不适用中文,所以要用sphinx全文索引引擎)。InnoDB不支持。
  表的具体行数:MyISAM保存有表的总行数,查询count(*)很快。InnoDB没有保存表的总行数,需要重新计算。
  外键:MyISAM不支持。InnoDB支持
Mysql常见的优化策略的更多相关文章
- 常见性能优化策略的总结 good
		阅读目录 代码 数据库 缓存 异步 NoSQL JVM调优 多线程与分布式 度量系统(监控.报警.服务依赖管理) 案例一:商家与控制区关系的刷新job 案例二:POI缓存设计与实现 案例三:业务运营后 ... 
- mysql 30大优化策略
		mysql 30大优化策略 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 wher ... 
- mysql常见安全加固策略
		原创 2017年01月17日 21:36:50 标签: 数据库 / mysql / 安全加固 5760 常见Mysql配置文件:linux系统下是my.conf,windows环境下是my.ini: ... 
- MySQL索引与优化策略
		1. MySQL索引实现 在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,下面主要讨论MyISAM和InnoDB两个存储引擎的索引实现方式. MyISAM索引实现 M ... 
- mysql常见的优化需要注意的点
		1.explain分析explian引用索引基数show indexes from table_name;主键索引具有最好的基数 测试时 不走缓存SELECT SQL_NO_CACHE id from ... 
- mysql常见的优化方法
		1.选取适当的字段属性.例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任 ... 
- (1.10)SQL优化——mysql 常见SQL优化
		(1.10)常用SQL优化 insert优化.order by 优化 1.insert 优化 2.order by 优化 [2.1]mysql排序方式: (1)索引扫描排序:通过有序索引扫描直接返回有 ... 
- 【转】Mysql查询语句优化策略
		1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索 ... 
- MYSQL常见可优化场景
		1.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null 可以在num上设置 ... 
随机推荐
- Rancher 容器管理平台-实战训练营-免费视频培训
			2018年5月-2019年5月免费培训视频(共21期): http://e.vhall.com/user/home/20160226 培训简介: Rancher2.0版基于开源的Kubernete ... 
- 移动Web UI库(H5框架)有哪些,看这里就够了
			前言 今年上半年,项目组在项目开发的过程中建立了一套风格统一,组件丰富完善,命名统一规范的PC端UI库,适用于做大型站点,该UI库也是应用到了整个平台的项目中,在各个项目组中进行推广.因为项目的保密性 ... 
- [Spring MVC] 取控制器返回的ModelAndView/Map/Model/Request的对象
			${key }页面可取, <input value="${key}"> 或者<%=request.getParameter("key")%&g ... 
- LaF: Fast Access to Large ASCII Files
			貌似可以随机读取dataframe格式的文本文件. 
- 洛谷P1030求先序排列
			题目描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度≤8. 输入输出格式 输入格式: 2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列. 输 ... 
- Sql server数据库连接Oracle库的步骤
			本地使用环境 操作系统: win10 64 ,SQL Server 2012 ,Oracle Server 11g 第一步:安装好oracle客户端,并配置好TNS信息 ORCL = (DESCR ... 
- Django--QuerySet--基础查询
			Django--QuerySet--基础查询 创建模型类: from django.db import models # Create your models here. class Blog(mod ... 
- linux安装mysql图文教程
			---恢复内容开始--- 1.下载mysql [root@localhost ~]# yum install mysql mysql-server 输入y 输入y 输入y 下载完成 接下来我们要使用w ... 
- gzip 所使用压缩算法的基本原理(选摘)
			摘自:http://blog.csdn.net/ghevinn/article/details/45747465 gzip 所使用压缩算法的基本原理 gzip 对于要压缩的文件,首先使用LZ77算法 ... 
- Android & iOS 启动画面工具
			感谢Aone!为我们开发了如此便捷的工具!! 以下为原文: Android & iOS 启动画面工具 下载:OneSplash.启动画面工具.Aone.20190318.zip 说明:这一个 ... 
