MySQL优化小方法】的更多相关文章

一.查询优化 1.尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引: 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库. 备注.描述.评论之类的可以设置为 NULL,其他的,最好不要使用NULL. 不要以为 NULL 不需要空间,比如:char(100) 型,…
背景 "那啥,你过来一下!" "怎么了?我代码都单元测试了的,没出问题啊!"我一脸懵逼跑到运维大佬旁边. "你看看!你看看!多少条报警,赶快优化一下!" 运维大佬短信列表里面50多条MySQL CPU 100%报警短信.再看看项目名称不就是我前几天刚发布的项目吗!? 我心底一沉,赶快赔上笑脸."这个一定优化,马上优化!那个,能不能看下数据库监控日志..." 运维大佬又数落了我几句,然后调开了数据库监控日志. 那家伙...每秒3…
碎片整理: mysql数据一开始是在磁盘上顺序存放的,如果数据表有频繁的update改动,那么数据就会形成很多碎片,拖慢速度和不利于索引: 优化碎片有两种方式: alter table user engine innodb;其实user这个表原先也是innodb的,这句话看上去没有任何意义,但是mysql会重新规整数据 optimize table user; 也可以修复: 碎片优化是一种很费cpu和内存的事,最好在夜里执行: 非常规 的 min  max 优化 select min(age)…
对mysql优化时一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(index) [四种: 普通索引.主键索引.唯一索引unique.全文索引] c: 分表技术(水平分割.垂直分割) d: 读写[写: update/delete/add]分离 e: 存储过程 [模块化编程,可以提高速度] f: 对mysql配置优化 [配置最大并发数my.ini, 调整缓存大小 ] g: mysql服务器硬件升级 h: 定时的去清除不需要的数据,定时进行碎片整理(MyISAM)…
1,选择适当的字段类型,特别是主键 选择字段的一般原则是保小不保大,能占用字节小的字段就不用大字段.比如主键,建议使用自增类型,这样节省空间,空间就是效率!按4个字节和按32个字节定位一条记录,谁快谁慢太明显了.涉及到几个表做join时,效果更明显. 建议使用不含业务逻辑的id做主键,比如student数据表 student表 id      stuno      stuname  adress 1       es1234     德华        香港 2,对于文件和图片,数据库只存储路径…
key_buffer_size是对MyISAM表性能影响最大的一个参数,下面一台以MyISAM为主要存储引擎服务器的配置: mysql> SHOW VARIABLES LIKE '%key_buffer_size%'; 下面查看key_buffer_size的使用情况: mysql> SHOW GLOBAL STATUS LIKE '%key_read%'; +-------------------+-----------------+ | Variable_name | Value | +-…
错误代码:MySQL: ERROR 1040: Too many connections 经常会遇到这个错误,要么是业务增长,正常的访问量增多,要么是自己的max_connections设置的过小了 查看系统的最大连接数max mysql> SHOW VARIABLES LIKE 'max_connections'; 查看系统之前处理的最大连接数used mysql> SHOW GLOBAL STATUS LIKE '%Max_used_connections%'; 一般used/max ≍…
一.表的优化: 1: 定长与变长分离 如 time.手机号等,每一单元值占的字节是固定的. 核心且常用字段,宜建成定长,放在一张表,查询速度会很快 而varchar, text,blob,这种变长字段,适合单放一张表, 用主键与核心表关联起来. 2:常用字段和不常用字段要分离 需要结合网站具体的业务来分析,分析字段的查询场景,查询频度低的字段,单拆出来. 3.在1对多,需要关联统计的字段上,添加冗余字段.(”空间换时间”) 好比今日注册用户数或者今日发帖量这种,如果需要连表查,再计算会很耗资源,…
服务器物理硬件的优化 来源社区,个人作为收集 在挑选硬件服务器时,我们应该从下面几个方面着重对MySQL服务器的硬件配置进行优化,也就是说将项目中的资金着重投入到如下几处: 1.磁盘寻道能力(磁盘I/O),我们现在用的都是SAS15000转的硬盘,用6快这样的硬盘作RAID1+0.MySQL每一秒钟都在进行大量.复杂的查询操作,对磁盘的读写量可想而知,所以,通常认为磁盘I/O是约制MySQL性能的最大因素之一.对于日均访问量在100万PV以上的论坛(Discuz).博客(Wordpress),如…
我们究竟应该如何对MySQL数据库进行优化?下面我就从MySQL对硬件的选择.MySQL的安装.my.cnf的优化.MySQL如何进行架构设计及数据切分等方面来说明这个问题.   服务器物理硬件的优化   在挑选硬件服务器时,我们应该从下面几个方面着重对MySQL服务器的硬件配置进行优化,也就是说将项目中的资金着重投入到如下几处:   1.磁盘寻道能力(磁盘I/O),我们现在用的都是SAS15000转的硬盘,用6快这样的硬盘作RAID1+0.MySQL每一秒钟都在进行大量.复杂的查询操作,对磁盘…