当前位置: 首页 > 图文教程 > 数据库 > MYSQL > ASP动态网站制作中使用MYSQL的分析

MYSQL
提高MySQL 查询效率的三个技巧
mysql同步复制搭建方法指南详细步骤
详解MySQL中DROP,TRUNCATE 和DELETE的区别实现mysql从零开始
MySQL Replace INTO的使用
mysql 分页优化解析
同时运行多个MySQL服务器的方法
mysql主从服务器同步心得体会
删除mysql数据库中的重复数据记录
mysql忘记密码的解决方法
mysql替换表中的字符串的sql语句
Lost connection to MySQL server during query的解决
mysql出现Error performing load command的解决方法
mysql中的“money”类型说明
mysql常见错误集锦
MYSQL administrator 使用
MYSQL初学者命令行使用指南
MySQL的Query Cache原理分析
linux下改良版本mysqldump来备份MYSQL数据库
mysql删除表中某一字段重复的记录
log引起的mysql不能启动的解决方法

ASP动态网站制作中使用MYSQL的分析


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 98 ::
收藏到网摘: n/a

环境:winxp sp2 ,mysql5.0.18,mysql odbc 3.51 driver 表采用 myisam引擎。access 2003

不同的地方:

1、插入数据时候,mysql 应尽量使用 insert into语句,避免使用 rs.addnew,如果非的要用,应先设置 conn.CursorLocation=3 否则,肯定报错,而且我发现,用insert 要比 addnew 快大约3倍。还有,如果用rs.addnew 当你rs.update时候,是无法想在access中立即获得rs(“id”)的值的。

2、和access的比较:

   同样的表结构,用insert 插入20000条数据时候,mysql化了7.5秒,如果用rs.addnew则要24秒!而在access ,用insert 则化了化了19.8秒,rs.addnew却只有化了2.8秒!

查询比较:access 查询40w条数据 化了12秒,mysql化了14秒,稍微慢点。

总结:总的来讲,access的插入速度要比mysql快大约三倍。查询数据时候,如果数据量比较小,access也要比mysql快大约2倍,但当数据量很大时,mysql的查询速度变化不大,但access则下降的比较厉害。

当然,mysql应该要比access快的,我估计问题出在他的odbc驱动上,而access的驱动是用的ole,微软对他作了很多优化,所以,在这个测试中,mysql蒙冤受屈了!至于并发性能,我没有测试,不过我想access应该大大不如mysql吧。

如果要使用
rs.pagecount
rs.pagesize
rs.AbsolutePage
rs.recordcount
这样的属性,你必须先conn.CursorLocation=3
否则以上属性统统不能使用。
还有为了防止乱码和插入中文错误,你必须在conn.open后,立即:conn.Execute ("SET NAMES 'gb2312'")
否则,肯定插入错误,而且乱码没商量。

连接方式:

'用系统DNS连接:
strconnection="dsn=mysql; OPTION=16384;driver={mysql odbc 3.51 driver};server=127.0.0.1;uid=root;pwd=67918;database=test"
'直接用字符串连接:
'strconnection="Driver={mysql odbc 3.51 driver}; Server=localhost; Port=3306; Option=0; Socket=; Stmt=; Database=test; Uid=root; Pwd=67918;Option=16384"
set conn=server.createobject("adodb.connection")
conn.CursorLocation=3
conn.open strconnection