博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通达OA系统myisam转innodb引擎
阅读量:7080 次
发布时间:2019-06-28

本文共 1222 字,大约阅读时间需要 4 分钟。

OA系统切换到linux环境后,性能提升了2-3倍左右,随着公司的发展壮大,办公人员也会越来越多,当人数达到一定数量级别时如1500在线人数已无法支撑公司业务,就需要对系统进行性能提升优化。

    当前OA系统采用myisam数据库引擎,该数据库引擎的特点是查询量是主要业务时响应速度很快,myisam是表锁不支持外键。innodb引擎是行锁,并发处理能力更强,针对大量用户同时新建工作流的业务场景,innodb数据库引擎更加合适。

    还有一点需要注意的是myisam可以直接通过拷贝整个数据库目录文件的方式迁移或者备份,innodb引擎备份更麻烦一些需要通过导出sql语句的方式备份。

现阶段的mysql报告 96.22%都是查询业务,用myisam性能更佳

具体实施步骤

1.备份数据库(将整个TD_OA数据库备份)

cd /opt/lampp/var/mysql

mkdir TD_OABAK

cp TD_OA/*.* TD_OABAK

2.修改my.cnf文件

innodb_data_file_path=ibdata1:256M:autoextend

innodb_buffer_pool_size = 10G (内存的1/3大小)

innodb_log_buffer_size  = 8M

key_buffer_size         = 2G

innodb_log_file_size      = 256M

innodb_log_files_in_group = 8

2.生成修改引擎为innodb的sql语句

运行修改表的脚本拼凑ALTER TABLE wp_posts ENGINE=INNODB;

<?php

header('content-type:text/html;charset=utf-8');

//将数据库由myisam转化为innodb引擎

//连接数据库

$conn=mysql_connect('localhost:3336','root','myoa888');

if(!$conn) {

   print_r(mysql_error());

}

//选库

$sql='use td_oa';

mysql_query($sql) or die('select database error');

//设置字符集

$sql='set names utf8';

mysql_query($sql);

$sql = 'show tables';

$res = mysql_query($sql);

while($row = mysql_fetch_row($res)){

    

    $sql = "alter table `".$row[0]."` ENGINE=INNODB;";

    echo $sql,'<br />';

}

?>

3.重启数据库服务

转载于:https://www.cnblogs.com/reblue520/p/6239894.html

你可能感兴趣的文章
OEA 2.11 支持单机版数据库 - SQLite与SQLCE对比
查看>>
Out of office 模板
查看>>
【英语天天读】I want I do I get
查看>>
.NET Compact Framework下的进程间通信之MSMQ开发
查看>>
MVVM 开发的几种模式讨论(WPF)
查看>>
Snipaste强大离线/在线截屏软件的下载、安装和使用
查看>>
Symbian C++ 开发环境配置[爱谁谁论坛]
查看>>
DIV层+CSS实现锁屏
查看>>
浅谈C/C++中的顺序点和副作用
查看>>
每周一书-《做自己-鬼脚七自媒体第一季》
查看>>
Visual Studio快速封装字段方法
查看>>
控制随机抽中几率 [ C# | Random ]
查看>>
(JAVA版)冒泡排序
查看>>
文明源自谎言
查看>>
ubuntu PATH 出错修复
查看>>
Bootstrap~页面的布局
查看>>
如何删除JAVA集合中的元素
查看>>
jQuery 事件 - trigger() 方法
查看>>
模态窗口被IE 7给糟蹋得不成样子了
查看>>
你不知道的Spring配置文件
查看>>