分类存档: MYSQL

Linux环境下MySQL服务器级优化

普通的MySQL用户利用表创建和索引操作,以及利用查询的编写能够进行的优化。不过,还有一些只能由MySQL管理员和系统管理员来完成的优化,这些管理员在MySQL服务器或运行MySQL的机器上具有控制权。有的服务器参数直接适用于查询处理,可将它们打开。而有的硬件配置问题直接影响查询处理速度,应该对它们进行调整。

磁盘问题 继续阅读 »

mysql 事务处理

注意:mysql的事务处理仅支持innodB,不支持mysiam引擎

关闭自动提交功能

mysql>set autocommint=0

从表t1中删除了一条记录 继续阅读 »

MYSQL 预处理 php实现方法

预处理的好处:
1、更大安全性。2、更好性能。3、批量查询。

对于预处理语句,只会把查询本身发送给mysql,并且只会解析一次,然后单独把值发送给mysql。
$q = ‘Insert into tb(num) values (?)’;
$stmt = mysqli_prepare($dbc,$q);
mysqli_stmt_bind_param($stmt,’i’,$n); 继续阅读 »

MySQL直接执行和预处理执行效率比较示例

“对于多次执行的语句,预处理执行比直接执行快,主要原因在于,仅对查询执行一次解析操作。在直接执行的情况下,每次执行语句时,均将进行查询。此外,由于每次执行预处理语句时仅需发送参数的数据,从而减少了网络通信量。

“预处理语句的另一个优点是,它采用了二进制协议,从而使得客户端和服务器之间的数据传输更有效率。”——MySQL 5.1 中文手册 继续阅读 »

mysql partition 和 MERGE 的区别

一、概述

相信有很多人经常会问同样的一个问题:当 MySQL
的总记录数超过了100万后,会出现性能的大幅度下降吗?答案是肯定的,但是性能下降>的比率不一而同,要看系统的架构、应用程序、还有>包括索引、服务器硬件等多种因素而定。当有网友问我这个问题的时 继续阅读 »

MySQL分区性能

一,      分区概念 

分区允许根据指定的规则,跨文件系统分配单个表的多个部分。表的不同部分在不同的位置被存储为单独的表。MySQL从5.1.3开始支持Partition。

分区和手动分表对比

手动分表 分区多张数据表一张数据表重复数据的风险没有数据重复的风险写入多张表写入一张表没有统一的约束限制强制的约束限制

继续阅读 »

mysql分区分表实验

一下是我做的一个实验:

parttion分区情况 ti 没分表,t2有分表 ,没索引,同样1千万行数据,

select * from t? where email = “jiebin”; t1: 8.15sec ; t1: 11sec;

select * from t? where id = 999; t1: 8.54sec ; t1: 0.1sec;

建立了索引之后

select * from t? where email = “jiebin”; t1: 0.01sec ; t1: 0.03sec; 继续阅读 »

编译安装MySQL5.5.25

前几天想研究mysql的分区分表,需要mysql的partition插件。可惜我之前安装的是mysql5.0版本。

之后我企图在mysql官网上安装mysql5.1版本,结果也没有partition插件。。。唯一安装最新版本的mysql5.5试试

由于mysql5.5开始,不再使用configure安装,而是使用cmake。所以需要先安装cmake 继续阅读 »

MYSQL master-slave 双向同步

高峰时期的网站压力很巨大,

别说开发别的产品,连运行效率都这么低,这样会导致用户体验非常差。

为了解决这个问题,我一直在探索,思考了整整1年,解决方法不是一时半刻就能出来的。

但是绝不是那种升级服务器,买更好的服务器这种没脑的想法。 继续阅读 »

花了20个小时做了个DIXCUZ!X2的发帖后台

pre_common_member_count  (记录个人活动数目信息) 对应UID 发帖需要修改发帖数目

pre_forum_forum (记录版块信息)包括最新主题,发布的,时间 ,今日帖子数,总帖子数

pre_forum_thread(记录主题信息)包括主题,发表人,发表时间,最后回帖时间,帖子数 继续阅读 »