MySQL数据库优化技术概述

对于一个以数据库为中心的应用,数据库的优化直接影响到程序的性能,因此数据库性能至关重要。一般来说,要保证数据库的效率,要做好以下几个方面的工作:
  1、 数据库表设计:
  表的设计合理化(符合3NF);
  2、添加适当索引(index):
  普通索引:
  主键索引: primary 效率最高,但是只能有一个
  唯一索引:unique
  全文索引:fulltext 对文章中的词进行索引
  空间索引:SPATIAL 很少使用
  3、分表技术:
  水平分割
  垂直分割
  4、读写分离:
  写:update/delete/insert
  5、存储过程
  模块化编程,可以提高速度
  6、对mysql配置优化
  配置最大并发数(默认是100),在my.ini配置文件中,一般网站调整到1000左右。一个并发开一个进程为之服务,过大的话将会占用很大的内存;
  调整缓存大小;
  7、MySQL硬件服务器升级
  8、定时的清除不需要的数据,定时进行碎片整理(MyISAM)

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-12-20 17:55:51

MySQL数据库优化技术概述的相关文章

MySQL数据库优化技术之索引使用技巧总结_Mysql

本文实例总结了MySQL数据库优化技术的索引用法.分享给大家供大家参考,具体如下: 这里紧接上一篇<MySQL数据库优化技术之配置技巧总结>,进一步分析索引优化的技巧: (七)表的优化 1. 选择合适的数据引擎 MyISAM:适用于大量的读操作的表 InnoDB:适用于大量的写读作的表 2.选择合适的列类型 使用 SELECT * FROM TB_TEST PROCEDURE ANALYSE()可以对这个表的每一个字段进行分析,给出优化列类型建议 3.对于不保存NULL值的列使用NOT NUL

解开发者之痛:中国移动MySQL数据库优化最佳实践

 章颖数据研发工程师 现任中国移动杭州研发中心数据研发工程师,擅长MySQL故障诊断,性能调优,MySQL高可用技术,曾任中国电信综合平台开发运营中心DBA   开源数据库MySQL比较容易碰到性能瓶颈,为此经常需要对MySQL数据库进行优化,而MySQL数据库优化需要运维DBA与相关开发共同参与,其中MySQL参数及服务器配置优化主要由运维DBA完成,开发则需要从数据类型优化,索引优化,SQL优化三个角度考虑MySQL数据库优化问题,本次分享将从开发角度,看如何实现MySQL数据库优化. 本次

RDS for MySQL 数据库优化【Tech Insight演讲实录】

分享专家--田杰,专注在关系型数据库和NoSQL数据库技术领域,曾先后就职于路透社和渣打银行,目前在阿里云从事数据库技术支持工作,号称"数据库问题的终结者". 田杰上台后首先问了一个问题,优化的目的是什么?他提出一个观点:"优化的目的是少做或者不做".从分析RDS for MySQL 性能优化中常常遇见的性能问题入手,开始了今天的分享.从这些问题入手,田杰分四个部分展开了此次在Tech Insight的分享.SQL数据库和人交流的语言,数据库用的好不好,很大程度上取

【转载】运维角度浅谈MySQL数据库优化

 运维角度浅谈MySQL数据库优化 2015-06-02 14:22:02 标签:mysql优化   mysql分库分表分区 mysql读写分离 mysql主从复制 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://lizhenliang.blog.51cto.com/7876557/1657465   一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善.这篇博文主要谈My

mysql数据库优化与mysql在web性能优化

数据库语句:     Ddl(数据定义语言)    alter  create   drop         Dml(数据操作语言)   inset  delete  update       Dtl(数据事务语言)  conmmit  rollback   savepoint       Select       Dcl(数据控制语句) grant赋权限  revoke回收        Mysql数据库优化: 1.  数据库表 要设计合理(符合3NF,有时候也需要适当的逆范式) 2.  Sq

mysql数据库优化需要遵守的原则_Mysql

这是我在网上看到的一篇不错的mysql数据库优化文章,内容说的很全! 1.使用索引来更快地遍历表 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的.在非群集索引下,数据在物理上随机存放在数据页上.合理的索引设计要建立在对各种查询的分析和预测上.一般来说: a.有大量重复值.且经常有范围查询( > ,< ,> =,< =)和order by.group by发生的列,可考虑建立群集索引; b.经常同时存取多列,且每列都含有重复值可考虑建立组合索引; c.组合索引要尽量使关键查询

MySQL数据库优化详解_Mysql

mysql表复制                                                                               复制表结构+复制表数据 mysql> create table t3 like t1; mysql> insert into t3 select * from t1; mysql索引                                                                       

MySQL数据库优化概述

一,数据库优化的目的  1,避免出现页面访问错误     由于数据库的timeout产生的5**错误:     由于慢查询造成的也没无法加载:     由于阻塞造成数据无法提交: 2,增加数据库的稳定性     很多数据库的问题都是由于低效的查询引起的: 3,优化用户体验     流畅页面的访问速度:     良好的网址功能体验: 二,数据库优化的角度 SQL及索引:避免慢查询,阻塞操作: 数据库表结构:满足三范式,冗余设计:分库分表: 系统配置:linux打开文件数目: 硬件:磁盘选择,如SS

运维角度浅谈MySQL数据库优化

  一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善.这篇博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分为以下五个阶段: 1.数据库表设计   项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分就是对表结构设计.对于数据库来说,这点很重要,如果设计不当,会直接影响访问速度和用户体验.影响的因素很多,比如慢查询.低效的查询语句.没有适当建立索引.数据库堵塞(死锁)等.当然,有测试工程