用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1817|回复: 6
收起左侧

[版本 3.x] 为什么在core里面定义MY_Model比CI原生的还慢一点啊

[复制链接]
发表于 2015-11-5 11:12:00 | 显示全部楼层 |阅读模式
QQ截图20151105110733.png

上面是原生的,下面是CI自带的数据库操作, 原生的比CI自己的慢那么几毫秒到几十毫秒, 我记得CI2.2的时候,原生要快一些啊,是我写的不好,还是就是这样了?
发表于 2015-11-6 13:45:24 | 显示全部楼层
这个性能你是怎么测试的?
 楼主| 发表于 2015-11-6 16:17:57 | 显示全部楼层
Hex 发表于 2015-11-6 13:45
这个性能你是怎么测试的?

查看CI首页的那个函数, Page rendered in 0.0257 seconds. CodeIgniter Version 3.0.0   代码变更的情况下测试的,然而这些代码在centos系统下,执行只需要0.0055秒左右,你试过改写MY_Model吗?? 效率会提升一些吗?
发表于 2015-11-9 13:50:13 | 显示全部楼层
Google.com 发表于 2015-11-6 16:17
查看CI首页的那个函数, Page rendered in 0.0257 seconds. CodeIgniter Version 3.0.0   代码变更的情况 ...

这个地方不会有什么性能损耗的,最多就是一次IO操作。你可以看看 CI 的源码。
 楼主| 发表于 2015-11-17 13:20:00 | 显示全部楼层
Hex 发表于 2015-11-9 13:50
这个地方不会有什么性能损耗的,最多就是一次IO操作。你可以看看 CI 的源码。 ...

我增加了一个获取ip并插入数据库的操作+都写一个文件来记录访问数量的操作,所以才看这个执行时间的
发表于 2015-11-17 23:34:29 | 显示全部楼层
这几行代码不至于影响性能把  看看数据库部分把
发表于 2016-1-5 17:11:41 | 显示全部楼层
你这怎么能叫原生的呢?只是自构了sql语句,语句的执行你还是用的 ci 的方式啊

原生的代码大概应该是这样的:

$con = mysql_connect("localhost","mysql_user","mysql_pwd");     //手动连接数据库
$sqlstr = "select * from table";    //手动构造 sql 语句
mysql_query($sql,$con);    //执行 sql 语句
mysql_close($con);    //关闭数据库连接

本版积分规则