网站高峰期数据库压力莫名奇妙的高,不得已上了memcached缓存才恢复了正常。

然后发现不知道什么时候wp默认的数据表从InnoDB统统变成MyISAM了,估计又是以前没事测试插件一键优化数据库搞的。查阅了相关资料后决定把wp默认表转回InnoDB。

在phpmyadmin SQL栏中执行

ALTER TABLE wp_users ENGINE=INNODB;

ALTER TABLE wp_usermeta ENGINE=INNODB;

ALTER TABLE wp_term_taxonomy ENGINE=INNODB;

ALTER TABLE wp_term_relationships ENGINE=INNODB;

ALTER TABLE wp_terms ENGINE=INNODB;

ALTER TABLE wp_termmeta ENGINE=INNODB;

ALTER TABLE wp_posts ENGINE=INNODB;

ALTER TABLE wp_postmeta ENGINE=INNODB;

ALTER TABLE wp_options ENGINE=INNODB;

ALTER TABLE wp_links ENGINE=INNODB;

ALTER TABLE wp_comments ENGINE=INNODB;

ALTER TABLE wp_commentmeta ENGINE=INNODB;

WordPress 内置的工具修复和优化数据库

在网站的 wp-config.php 中添加

define('WP_ALLOW_REPAIR', true);

然后访问

http://你的域名/wp-admin/maint/repair.php

资料记录

MySQL存储引擎MyISAM与InnoDB的优劣

MySQL默认的存储引擎是MyISAM,其他常用的就是InnoDB了。

至于到底用哪种存储引擎比较好?这个问题是没有定论的,需要根据你的需求和环境来衡量。所以对这两种引擎的概念、原理、异同和各自的优劣点有了详细的了解之后,再根据自己的情况选择起来就容易多了。

MyISAM

InnoDB

存储结构

每张表被存放在三个文件:

frm-表格定义

MYD(MYData)-数据文件

MYI(MYIndex)-索引文件

所有的表都保存在同一个数据文件中(也可能是多个文件,或者是独立的表空间文件),InnoDB表的大小只受限于操作系统文件的大小,一般为2GB

存储空间

MyISAM可被压缩,存储空间较小

InnoDB的表需要更多的内存和存储,它会在主内存中建立其专用的缓冲池用于高速缓冲数据和索引

可移植性、备份及恢复

由于MyISAM的数据是以文件的形式存储,所以在跨平台的数据转移中会很方便。在备份和恢复时可单独针对某个表进行操作

免费的方案可以是拷贝数据文件、备份 binlog,或者用 mysqldump,在数据量达到几十G的时候就相对痛苦了

事务安全

不支持 每次查询具有原子性

支持 具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表

AUTO_INCREMENT

MyISAM表可以和其他字段一起建立联合索引

InnoDB中必须包含只有该字段的索引

SELECT

MyISAM更优

INSERT

InnoDB更优

UPDATE

InnoDB更优

DELETE

InnoDB更优 它不会重新建立表,而是一行一行的删除

COUNT without WHERE

MyISAM更优。因为MyISAM保存了表的具体行数

InnoDB没有保存表的具体行数,需要逐行扫描统计,就很慢了

COUNT with WHERE

一样

一样,InnoDB也会锁表

只支持表锁

支持表锁、行锁 行锁大幅度提高了多用户并发操作的新能。但是InnoDB的行锁,只是在WHERE的主键是有效的,非主键的WHERE都会锁全表的

外键

不支持

支持

FULLTEXT全文索引

支持

不支持 可以通过使用Sphinx从InnoDB中获得全文索引,会慢一点

总的来说,MyISAM和InnoDB各有优劣,各有各的使用环境。

但是InnoDB的设计目标是处理大容量数据库系统,它的CPU利用率是其它基于磁盘的关系数据库引擎所不能比的。

我觉得使用InnoDB可以应对更为复杂的情况,特别是对并发的处理要比MyISAM高效。同时结合memcache也可以缓存SELECT来减少SELECT查询,从而提高整体性能。

mysql myisam转innodb_WordPressMySQL数据库MyISAM表转换InnoDB方法和修复工具相关推荐

  1. Mysql数据库安装使用教程05:mysql启动停止服务+数据库及表的相关基础操作

    文章目录 1.启动停止数据库服务 2.数据库与数据库中表的相关操作 2.1.数据库相关操作 2.2.数据库中表相关操作 注意:由于是写博客,mysql语句中的分号.逗号.括号等可能是中文的,你直接复制 ...

  2. mysql 数据库分表三种方法

    当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. 根据个人经验,mysql执行一个sql的过程如下 ...

  3. Mysql学习(二)创建数据库和表

    MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的 ...

  4. mysql清空字段 1_mysql数据库 清空表 字段 1

    1,查看数据库状态 及启动停止 /etc/init.d/mysqld status/etc/init.d/mysqld start/etc/init.d/mysqld stop 2,给用户配置初始密码 ...

  5. mysql异地备份_MySQL数据库异地备份与还原方法

    一.传统的MySQL数据库备份和恢复数据方法: 生成duSQL脚本 在控制zhi台使用mysqldump命令可以用来生成指定数据库的dao脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创 ...

  6. SQL Server数据库建表以及使用方法

    一 , 连接数据库引擎. 二 ,身份验证选择windows或者SQL Server身份验证连接. 三,选择数据库,新建数据库. 四, 输入 数据库名称,下面初始大小,自动增长,路径可以更改, 假设该数 ...

  7. Greenplum数据库查看表倾斜的方法总结

    首先我们来看一下gp_toolkit.gp_skew_coefficients这个视图的逻辑: # \d+ gp_toolkit.gp_skew_coefficients            当我们 ...

  8. 将excel数据导入数据库的表中的方法

    这里使用navicat操作数据库,方法不同可视化工具都是类似的,通用 1.准备好excel文件(格式如下) 也可以使用其他格式,不同格式需要在导入的时候配置一下excel对应的表字段 2.数据库建表( ...

  9. SQL Server数据库建表及其使用方法

    一:数据库建表 1.首先登录账户,然后右键,新建一个数据库 2.首先展开数据库,然后右键表,最后点击新建 表 3.首先在上方找到新建查询,然后主要看画线红圈那里是不是你想要新建的数据库 一定要仔细看清 ...

最新文章

  1. 5、MySQL修改数据库:ALTER DATABASE用法简介
  2. 转化百分比_小秘诀教你如何快速提升大众点评访客转化率!
  3. 最长重复子串和最长不重复子串求解
  4. 秦叶阳(1986-),女,就职于北京大学,安徽荣创智能科技有限公司联合创始人...
  5. 个人企业作品网站导航页源码
  6. mysql复制学习二 安装及首次复制配置
  7. SQL Server 2005 中行号的显示,分页
  8. 数据库原理及应用-期末考试试题及答案
  9. linux系统支持网银吗,Linux系统能使用网银吗?
  10. Python + Scrapy 小小爬虫有大大梦想
  11. 离线地图开发下实现GPS定位,坐标纠偏回放,偏离路线
  12. 5G时代移动物联网三大创新发展方向是哪些?
  13. AD之相同模块布局布线方法
  14. 【Java系列】斐波拉契数列
  15. 数据结构之八大排序总结
  16. bugku ctf decrypt
  17. 论文阅读笔记系列(一)SMAT: An Input Adaptive Auto-Tuner for Sparse Matrix-Vector Multiplication—————————————
  18. 拼多多直通车精细化推广策略,助力店铺引入更多流量!
  19. 当进入小程序或公众号时出现一个大感叹号,可以这样解决
  20. 装睡 java版 PTA

热门文章

  1. 2017年下半年阅读书单
  2. 如何在 Mac 上更改鼠标光标颜色?
  3. Python闭包理解
  4. JS实现鼠标点击爱心绘制多边形每日一言功能
  5. python布尔系列_python-布尔运算
  6. 2017年学习总结-新的开始
  7. java中图片排版_Java实现第八届蓝桥杯图形排版
  8. Springcould学习总结
  9. hadoop配置eclipse的开发环境
  10. 上传服务器后字体文件丢失,详解Vue+elementUI build打包部署后字体图标丢失问题...