mysql 性能测试
机器配置
drivers : mysql odbc 3.51
program : vb 6.0
database : mysql 4.01. nt
member : 256 ddr
cpu : 1.2g
测试数据量为14w ,200w
select 测试!
第一个测试
select count(*) from tbl_outgoing_log ;
很短的时间 不用网络的情况下(0.00sec)
mysql => 0sec
vb =>0ms~10ms
1000 次的测试0.679ms
200w
mysql => 0sec
vb =>0ms~10ms
1000 次的测试0.679ms
第二个测试
select count(*) from tbl_outgoing_log where adate <"20050301";
14w
mysql => 1790ms
vb =>1769ms
200w
vb =>124,219
第三个测试
select count(*) from tbl_outgoing_log where id <100000000;
14w
mysql => 113ms
vb=>91.842ms
200w
vb=>1452
测试的结果告诉我们 影响速度的方面有如下
1.where 条件
2.条件的比较的时候,字段类型有很大的区别 没有索引的情况下 速度 midiumint >int > char > varchr > datatime
插入1000条 7910MS
插入500,000 318,728ms 0.637456 ms/record
测试update
在每有索引 ......
nagios监控mysql主从复制
作者:田逸(sery@163.com
)
起因:nagios可能监控到mysql服务的运行情况,但确不能监控mysql的主从复制是否正常:有时候,同步已经停止,但管理人员却不知道。
下手处:登陆mysql从服务器,通过执行 mysql> show slave status\G
查看其输出,即可判定主从复制是否正常。下面是某个从服务器的输出:
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.93.16
Master_User: rep1
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.0 ......
按照手册安装MySQL Proxy之前先要安装以下软件 libevent 1.x or higher (1.3b or later is preferred) lua 5.1.x or higher glib2 2.6.0 or higher pkg-config libtool 1.5 or higher MySQL 5.0.x or higher developer files rpm查看libevent $rpm -q libevent
libevent-1.1a-3.2.1 勉强用吧,家下来安装lua $tar xvzf lua-5.1.4.tar.gz $cd lua-5.1.4 $make linux $make install $cp etc/lua.pc /usr/local/lib/pkgconfig/ 之后安装MySQL Proxy按转世继续报错,呵呵,虽然手册上对于glib2写的版本是2.6.0及以后实际在MySQL Proxy0.7.2上是要求>2.16的,继续升级glib2 $tar xvzf glib-2.23.0.tar.gz $cd glib-2.23.0 $./configure $make $make install 然后提示安装libevent版本过低,晕了 $tar xvzf libevent-1.4.13-stable.tar.gz $cd libevent-1.4.13-stable $./configure $make $make install 这次再去安装MySQL Proxy $tar zxf mysql-proxy-0.7.2.tar.gz $cd mysql-proxy-0.7.2 $./configure --with-mysql=/usr/local/mysql/bin/mysql_config --with-lua ......
MySQL索引简介... 1
一、索引分单列索引和组合索引……………………………………………………………………………………… 1
二、介绍一下索引的类型…………………………………………………………………………………………………. 1
三、单列索引和组合索引…………………………………………………………………………………………………. 2
四、使用索引... 4
CREATE INDEX Syntax ......
编辑/etc/mysql/my.cnf文件,相当于windows中的my.ini:
找到[client]
添加:
default-character-set = utf8 // 默认字符集为utf8
找到[mysqld]
添加:
default-character-set = utf8 //默认字符集为utf8
init_connect = 'SET NAMES utf8' //设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行
修改好后,重新启动mysql 即可.
查询一下show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+ ......
在学习<Linux程序设计>第8章MySQL数据库8.3节:
使用C语言访问MySQL访问数据库时尝试把SQL数据换成了中文,但是在运行示例程序时终端输出却乱码,MySQL C 语言连接默认字符集是latin1
查了下API找到如下函数可解决中文乱码问题。
int
mysql_set_character_set(
MYSQL *
mysql,
char
*
csname)
描述
该函数用于为当前连接设置默认的字符集。字符串csname指定了1个有效的字符集名称。连接校对成为字符集的默认校对。该函数的工作方式与SET NAMES语句类似,但它还能设置mysql-
>
charset的值,从而影响了由mysql_real_escape_string(
)
设置的字符集。
该函数是在MySQL 5.
0.
7中增加的。
返回值
0表示成功,非0值表示出现错误。
示例:
#
include
<
stdlib.
h>
#
include
<
stdio.
h>
#
include
"mysql.h"
MYSQL my_connection;
MYSQL_RES *
res_ptr;
MYSQL_ROW sqlrow;
void
display_row(
)
;
int
main(
int
argc,
char
*
argv[
]
)
{
int
res;
mysql_init(
&
my_connection)
;
if
(
mys ......
在学习<Linux程序设计>第8章MySQL数据库8.3节:
使用C语言访问MySQL访问数据库时尝试把SQL数据换成了中文,但是在运行示例程序时终端输出却乱码,MySQL C 语言连接默认字符集是latin1
查了下API找到如下函数可解决中文乱码问题。
int
mysql_set_character_set(
MYSQL *
mysql,
char
*
csname)
描述
该函数用于为当前连接设置默认的字符集。字符串csname指定了1个有效的字符集名称。连接校对成为字符集的默认校对。该函数的工作方式与SET NAMES语句类似,但它还能设置mysql-
>
charset的值,从而影响了由mysql_real_escape_string(
)
设置的字符集。
该函数是在MySQL 5.
0.
7中增加的。
返回值
0表示成功,非0值表示出现错误。
示例:
#
include
<
stdlib.
h>
#
include
<
stdio.
h>
#
include
"mysql.h"
MYSQL my_connection;
MYSQL_RES *
res_ptr;
MYSQL_ROW sqlrow;
void
display_row(
)
;
int
main(
int
argc,
char
*
argv[
]
)
{
int
res;
mysql_init(
&
my_connection)
;
if
(
mys ......