通达OA系统myisam转innodb引擎
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.重启数据库服务
通达OA系统myisam转innodb引擎的更多相关文章
- 重新学习MySQL数据库7:详解MyIsam与InnoDB引擎的锁实现
重新学习Mysql数据库7:详解MyIsam与InnoDB引擎的锁实现 说到锁机制之前,先来看看Mysql的存储引擎,毕竟不同的引擎的锁机制也随着不同. 三类常见引擎: MyIsam :不支持事务,不 ...
- mysql优化-------Myisam与innodb引擎,索引文件的区别
Myisam与innodb引擎,索引文件的区别: innodb的次索引指向对主键的引用. myisam的次索引和主索引都指向物理行. myisam一行一行的插入,会产生一行一行的文件,磁盘上有数据文件 ...
- MySQL中MyISAM和InnoDB引擎的区别
区别: 1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事 ...
- MYiSAM和InnoDB引擎区别(mysql)
MyISAM 1.读取速度快. 2.※更新时锁整个表. 3.占用资源少. 4.适合读多写少的业务. 5.※不支持事务. InnoDB 1.读取速度一般. 2.※更新时锁当前行. 3.占用资源高. ...
- MyISAM和InnoDB引擎的区别
MySQL默认采用的是MyISAM. MyISAM不支持事务,而InnoDB支持.InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提交,这样会影响速度,所以 ...
- MySQL学习笔记之二---引擎介绍MyISAM VS InnoDB
前言 MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良.虽然性能极佳,但却有一 ...
- OA系统高性能解决方案(史上最全的通达OA系统优化方案)
序: 这是一篇针对通达OA系统的整体优化方案,文档将硬件.网络.linux操作系统.程序本身(包括web和数据库)以及现有业务有效结合在一起,进行了系统的整合优化.该方案应用于真实生产环境,部署完成后 ...
- mysql innodb 引擎
innodb 引擎 一.概述 InnoDB 是一个用的比较广泛的存储引擎,因为它支持事物和外键,还有不错的效率;我们先看看官方教程怎么说; 我们先读一下, 对于上面的文档, 对一个InnoDB的表首先 ...
- OA系统如何使用考勤机数据
通达OA系统使用考勤机数据目前有两种方法可以实现:一种是通过进行二次开发,将通达OA系统与考勤机结合起来使用:另一种是通过将考勤机的数据导出再导入OA系统中.进行二次开发的话,需要和定制开发工程师联系 ...
随机推荐
- ST表与树状数组
ST表 st表可以解决区间最值的问题.可以做到O(nlogn)预处理 ,O(1)查询,但是不支持修改. st表的大概思路就是用st[i][j]来表示从i开始的2的j次方个树中的最值,查询时就从左端点 ...
- 查询字符串(性能对比): Array Vs HashMap
ip字符串长度: 15 ip count: 25 time - array:16ms, 查询次数:25000time - map:15ms, 查询次数:25000 ip count: 42 time ...
- Failed to load because no supported source was found
Uncaught (in promise) DOMException: Failed to load because no supported source was found? 等待解决:
- WCF开发实战系列五:创建WCF客户端程序
WCF开发实战系列五:创建WCF客户端程序 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 在前面的三篇文章中我们分别介绍了WCF服务的三种载体:IIS.Self-Hos ...
- Centos7系统初始化脚本
前言: 因公司业务增加,陆续新增服务器,时不时的来几台,手动地一台台对服务器初始化操作感觉太麻烦. 于是乎,根据初始化需求整合了一个初始化脚本,实现批量脚本初始化操作. 说明: 本脚本根据自身需求编写 ...
- JMS学习(八)-ActiveMQ Consumer 使用 push 还是 pull 获取消息
ActiveMQ是一个消息中间件,对于消费者而言有两种方式从消息中间件获取消息: ①Push方式:由消息中间件主动地将消息推送给消费者:②Pull方式:由消费者主动向消息中间件拉取消息.看一段官网对P ...
- 嵌入式iframe子页面与父页面js通信方式
iframe框架中的页面与主页面之间的通信方式根据iframe中src属性是同域链接还是跨域链接,有明显不同的通信方式,同域下的数据交换和DOM元素互访就简单的多了,而跨域的则需要一些巧妙的方式来实现 ...
- luogu P1072 $Hankson$ 的趣味题
这里提供两种做法 sol 1 考虑两个数\(A,B\)和\(C=gcd(A,B),D=lcm(A,B)\)的关系 设\(S=\{2,3,5...P_n\}\)为质数集合\(p_{x,i}\)表示\(x ...
- luogu P1445 [Violet]嘤F♂A
博主决定更博文啦 这道题一开始没什么思路啊qwq 要求 \(\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}\) 的正整数解总数 首先通分,得 \[\frac{x+y}{xy} ...
- gtid_executed和gtid_purged变量是如何初始化的
一.官方释义 1.1.gtid_executed.gtid_purged https://dev.mysql.com/doc/refman/5.7/en/replication-options-gti ...