---- 在数据库的应用开发中,常常会遇到性能和代价的之间矛盾。以作者在开发股市行
情查询和交易系统中遇到的问题为例,要在实时记录1000多只股票每分钟更新一次的行
情数据的同时,响应大量并发用户的数据查询请求。考虑到性价比和易维护性,系统又
要求在基于PC服务器,Windows NT平台的软硬件环境下实现。开始,我们采用了MS SQL
Server 6.5 作为数据库系统,用Visual C++ 6.0开发了访问数据库的前端,应用ODBC
数据接口,在进行了大量的数据库配置和程序优化后,发现仍不能满足性能要求。后采
用SQL Server的DB-Library接口,绕过了ODBC解释层,可以每秒更新行情数据30次,同
时支持20-30个左右的并发用户进行行情查询,基本满足要求(单台PC服务器,单PII3
50 CPU,内存128M,SCSI硬盘)。有没有可能进一步提高系统的性能和负载能力呢?经
过分析,数据库服务器是系统的瓶颈。当然,可以采用UNIX服务器+大型数据库的系统
平台,但其开发、运行、维护的费用比微机+Windows NT平台的费用高出数倍。我们在
其它一些系统的开发中,也经常遇到这样的矛盾。如何在微机平台上建立大容量、高效
率、易维护、高性价比的数据库系统呢?
---- 考 ......
---- 在数据库的应用开发中,常常会遇到性能和代价的之间矛盾。以作者在开发股市行
情查询和交易系统中遇到的问题为例,要在实时记录1000多只股票每分钟更新一次的行
情数据的同时,响应大量并发用户的数据查询请求。考虑到性价比和易维护性,系统又
要求在基于PC服务器,Windows NT平台的软硬件环境下实现。开始,我们采用了MS SQL
Server 6.5 作为数据库系统,用Visual C++ 6.0开发了访问数据库的前端,应用ODBC
数据接口,在进行了大量的数据库配置和程序优化后,发现仍不能满足性能要求。后采
用SQL Server的DB-Library接口,绕过了ODBC解释层,可以每秒更新行情数据30次,同
时支持20-30个左右的并发用户进行行情查询,基本满足要求(单台PC服务器,单PII3
50 CPU,内存128M,SCSI硬盘)。有没有可能进一步提高系统的性能和负载能力呢?经
过分析,数据库服务器是系统的瓶颈。当然,可以采用UNIX服务器+大型数据库的系统
平台,但其开发、运行、维护的费用比微机+Windows NT平台的费用高出数倍。我们在
其它一些系统的开发中,也经常遇到这样的矛盾。如何在微机平台上建立大容量、高效
率、易维护、高性价比的数据库系统呢?
---- 考 ......
---- 在数据库的应用开发中,常常会遇到性能和代价的之间矛盾。以作者在开发股市行
情查询和交易系统中遇到的问题为例,要在实时记录1000多只股票每分钟更新一次的行
情数据的同时,响应大量并发用户的数据查询请求。考虑到性价比和易维护性,系统又
要求在基于PC服务器,Windows NT平台的软硬件环境下实现。开始,我们采用了MS SQL
Server 6.5 作为数据库系统,用Visual C++ 6.0开发了访问数据库的前端,应用ODBC
数据接口,在进行了大量的数据库配置和程序优化后,发现仍不能满足性能要求。后采
用SQL Server的DB-Library接口,绕过了ODBC解释层,可以每秒更新行情数据30次,同
时支持20-30个左右的并发用户进行行情查询,基本满足要求(单台PC服务器,单PII3
50 CPU,内存128M,SCSI硬盘)。有没有可能进一步提高系统的性能和负载能力呢?经
过分析,数据库服务器是系统的瓶颈。当然,可以采用UNIX服务器+大型数据库的系统
平台,但其开发、运行、维护的费用比微机+Windows NT平台的费用高出数倍。我们在
其它一些系统的开发中,也经常遇到这样的矛盾。如何在微机平台上建立大容量、高效
率、易维护、高性价比的数据库系统呢?
---- 考 ......
这段时间被这个困扰了很久,通过修改配置文件,终于把这个问题解决了。
自己在网上也找了很多关于解决这个问题的方法,但是都讲的不太清楚,所以今天在这重新说下这个问题。
我的解决方法是通过修改mysql的配置文件my.ini,方法如下:
在my.ini中可以发现有这么一段代码:
[client]
port=3306
[mysql]
default-character-set=latin1
default-character-set=latin1
这段代码的意思是表示在mysql客户端(即mysql的dos界面)中的字符编码,即为latin1(ISO-8859-1:单字节编码方式),把latin1编码改为gbk(中文编码扩展国家标准,兼容GB2312,就是只能正常显示中文和英文)后,然后先将mysql服务器停止后,再启动,在客户端中就可以输入中文了。
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=utf8
default-character-set=utf8
这段代码的意思是表示mysql server的字符编码,utf8可以保存全世界各国的文字,如果你的程序想要支持国际化,底层的数据库一定要存utf8编码,就不要改了。
这两者的关系可以这样理解:utf8 <- gbk
当我们在客户端(其实就是mys ......
最近在做PHP与数据库交互的project,急于求成,模仿了下例子就开始动手,结果误把mysql_fetch_array写成了mysql_fetch_row,囧事来了,发现返回的数组居然是index=>value的形式,而明明记得是field name=>value的哈,查手册才明白。
1. mysql_fetch_array的函数原型是
array mysql_fetch_array ( resource $result [, int $result_type= MYSQL_BOTH ] )
Returns an array that corresponds to the fetched row and moves the internal data pointer ahead.
The type of returned array depends on how result_type is defined. By using MYSQL_BOTH (default), you'll get an array with both associative and number indices. Using MYSQL_ASSOC, you only get associative indices (as mysql_fetch_assoc() works), using MYSQL_NUM, you only get number indices (as mysql_fetch_row() works).
2. 这就很明白了,若设定不同的参数,mysql_fetch_array()可以做到mysql_fetch_row()和mysql_fetch_assoc()的功能,而后两个函数就只接受第一个参数,返回的分别是associative=>value, index=>value的数组
3.MYSQL_BOTH是什么效果呢,测试了下
S ......
最近在做PHP与数据库交互的project,急于求成,模仿了下例子就开始动手,结果误把mysql_fetch_array写成了mysql_fetch_row,囧事来了,发现返回的数组居然是index=>value的形式,而明明记得是field name=>value的哈,查手册才明白。
1. mysql_fetch_array的函数原型是
array mysql_fetch_array ( resource $result [, int $result_type= MYSQL_BOTH ] )
Returns an array that corresponds to the fetched row and moves the internal data pointer ahead.
The type of returned array depends on how result_type is defined. By using MYSQL_BOTH (default), you'll get an array with both associative and number indices. Using MYSQL_ASSOC, you only get associative indices (as mysql_fetch_assoc() works), using MYSQL_NUM, you only get number indices (as mysql_fetch_row() works).
2. 这就很明白了,若设定不同的参数,mysql_fetch_array()可以做到mysql_fetch_row()和mysql_fetch_assoc()的功能,而后两个函数就只接受第一个参数,返回的分别是associative=>value, index=>value的数组
3.MYSQL_BOTH是什么效果呢,测试了下
S ......
目前有不少AMP(Apache\MySQL\PHP)的集成软件,可以让我们一次安装并设置好。这对于不熟悉AMP的用户来说,好处多多。
一、使用AMP集成软件的优点:
1、可避免由于缺乏AMP的知识,而无法正确设置环境;
2、可快速安装并设置好AMP环境,让我们直接开始真正感兴趣的软件,如xoops;
3、可方便的搭建测试环境,对于测试“是AMP环境问题,还是XOOPS造成的问题”很有帮助,采用排除法即可。
二、常用的AMP集成软件:
1、AppServ:http://www.appservnetwork.com/
这个软件在台湾很流行。看到不少书籍也极力推荐,估计都是受台湾用户的影响。
2、XAMPP:http://www.apachefriends.org/en
这个软件支持多个平台,Win\Linux\Solaris\Mac OS X,目前也有不少人使用。
3、WAMP5:http://www.wampserver.com/en/
这是我今天极力推荐的,绝对五星级。注意它的名字是带个5的哦,意思就是WAMP5使用最新的PHP5版本,正如官方网站上的口号:Discover PHP5 with WAMP5 !
三、根据我的经验,WAMP5有如下优点:
1、XOOPS在WAMP5中使用,没有任何问题。
2、WAMP5专注于Windows平台,安装设置及其简单。
3、PHP默认的是5.x版本,如果需要php4.x,只要安装php4.x插件 ......
目前有不少AMP(Apache\MySQL\PHP)的集成软件,可以让我们一次安装并设置好。这对于不熟悉AMP的用户来说,好处多多。
一、使用AMP集成软件的优点:
1、可避免由于缺乏AMP的知识,而无法正确设置环境;
2、可快速安装并设置好AMP环境,让我们直接开始真正感兴趣的软件,如xoops;
3、可方便的搭建测试环境,对于测试“是AMP环境问题,还是XOOPS造成的问题”很有帮助,采用排除法即可。
二、常用的AMP集成软件:
1、AppServ:http://www.appservnetwork.com/
这个软件在台湾很流行。看到不少书籍也极力推荐,估计都是受台湾用户的影响。
2、XAMPP:http://www.apachefriends.org/en
这个软件支持多个平台,Win\Linux\Solaris\Mac OS X,目前也有不少人使用。
3、WAMP5:http://www.wampserver.com/en/
这是我今天极力推荐的,绝对五星级。注意它的名字是带个5的哦,意思就是WAMP5使用最新的PHP5版本,正如官方网站上的口号:Discover PHP5 with WAMP5 !
三、根据我的经验,WAMP5有如下优点:
1、XOOPS在WAMP5中使用,没有任何问题。
2、WAMP5专注于Windows平台,安装设置及其简单。
3、PHP默认的是5.x版本,如果需要php4.x,只要安装php4.x插件 ......
Connect MySQL GUI tools to WAMP 2.0
Posted by: Vladislav Sadykov ()
Date: January 24, 2009 09:31AM
Hay, I have a problem with MySQL database.
I have installed WAMP 2.0 server on my Windows machine and now I would like to
connect it with MySQL GUI tools 5.
The problem is that at the startup of MySQL administrator application I get this message:
"Either the server service or the configuration file could not be found.
Startup variables and service section are therefore disabled."
I have tried to install the MySQL GUI tools to the "C:\wamp\bin\mysql" directory but I get still the same message.
Maybe I need to modify some of the files to connect MySQL GUI tools to MySQL server but I don't know which one.
Can some one help me with this.
Re: Connect MySQL GUI tools to WAMP 2.0
Posted by: Ceasar Capuno ()
Date: January 29, 2009 11:47AM
from your MySQL Administrator Authentication window hold on the "ctrl" key to change the cancel button to "skip". Under Service Control Menu ......
MySQL 5.1.40已经发布,在这里有一些新的特性出现,包括MySQL基群基于磁盘的数据支持等等。 MySQL 5.1.40已经发布,这一版本的MySQL有很多新的功能特性,希望这些新特性能让大家今后的工作更有效率。MySQL是现在最流行一个多线程的,结构化查询语言(SQL)数据库服务器.绝大多数PHP网站的数据库后台都是采用这一数据库.
MySQL 的执行性能非常高,运行速度非常快,并非常容易使用.是一个非常捧的数据库.
新特性:
◆ 表和索引的分区
◆ 行级复制
◆ MySQL基群基于磁盘的数据支持
◆ MySQL集群复制
◆ 增强的全文本搜索函数
◆ 增强的信息模式(数据字典)
◆ 可插入的API
◆ 服务器日志表
◆ XML/XPath支持
◆ 实例管理器
◆ 表空间备份
◆ MySQL_upgrade升级程序
◆ 内部任务/事件调度器
◆ 新的性能工具和选项如MySQLslap。 ......