`
jedy
  • 浏览: 144192 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

DBI

阅读更多
程序中一直用DBI的绑定,但是发现DBI做绑定的时候不管参数是数字还是字符都会当成字符,至少在MySQL中是如此。比如,age = ?,绑定20时,实际上的查询会是 age = '20'。因此MySQL在执行时需要做字符到数字的转换,对性能有一定的影响。
如,
select count(*) from user ignore key (age) where age = '45'
的查询时间为0.50秒,而
select count(*) from user ignore key (age) where age = 45
只需要0.41秒,其中user中有100万数据。
查看了一下DBI的文档,没有看到什么地方可以设置。
不过发现了一些以前不曾用到的DBI的功能,不知道是一直没注意还是新版加的,DBI的更新还是挺频繁的。
比如可以设置dbh的Profile属性,设置之后执行完会多一条时间的显示:
DBI::Profile: 0.005288s (4 calls) test.pl @ 2007-10-02 12:01:09
另外还有TraceLevel属性,可以跟踪打印执行的sql。
还有很多以前没用过的方法,过完节可以找人研究一下。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics