背景:昨天看了ice框架后,感觉运行效率非常高,与其差不多的就是yaf了,然后因为yaf没有orm有点遗憾,不过我就这样去找了找orm,产生了这样的感想

今天又看了一下yaf框架,确实和ice差不多,大家都到极致了,几乎不相上下吧,然后确实没有ORM,那我想到了可以自己添加ORM,查来查去都是那些composer的大库(Eloquent之类的东西),那当然很全面很好用,可是这里我们讨论的本来就是执行效率啊.突发奇想,ORM难道不能被编译为C扩展吗?搜索了一下,嘿,果然还真有,看看这里.

https://github.com/caohao-php/ycdatabase

然后下载下来,就是一顿操作,解压进入然后 phpize7.4, ./configure 一顿操作,之后编译成功,具体命令如下:

$ phpize7.4
$ ./configure --with-php-config=/usr/bin/php-config7.4
$ make
$ make test
$ sudo make install
$ sudo vi /etc/php/7.4/cli/php.ini
$ sudo vi /etc/php/7.4/apache2/php.ini

在php.ini里面加启用这个扩展的声明

extension=ycdatabase

然后跑了一下demo的测试代码,效率看着还可以 链接到一个简单的查询,1毫秒左右

<?php
$start_time = microtime(true); $db_conf = array(
"host" => "127.0.0.1",
"username" => "root",
"password" => "xxx",
"dbname" => "test",
"port" => '3306',
"option" => array(
PDO::ATTR_CASE => PDO::CASE_NATURAL,
PDO::ATTR_TIMEOUT => 2
)
); $ycdb = new ycdb($db_conf);
try{
$ycdb->initialize();
} catch (PDOException $e) {
echo "find PDOException when initialize\n";
var_dump($e);
exit;
}
$list = $ycdb->select("user", "id", ["id" => 5900]); $end_time = microtime(true);
echo ($end_time - $start_time) * 1000;

从链接到查询消耗1毫秒的话那其实感觉不错,没有给整体的程序运行时间拖后腿,就选你了!

php orm的C扩展 ycdatabase的更多相关文章

  1. 介介介是一个ORM

    介个是一个ORM,介个ORM基于Dapper扩展. 为什么需要一个ORM呢? 支持简单的LINQ查询 但是不能连表查询,why?why?why?为什么不能连接查询 ^.^ ok.但是就是不支持.哈哈哈 ...

  2. Stackoverflow/dapper的Dapper-Extensions用法(一)

    Dapper-Extensions Dapper Extensions is a small library that complements Dapper by adding basic CRUD ...

  3. Dapper学习 - Dapper.Rainbow(一) - Create

    Dapper这个ORM有许多扩展, 我自己用过两种, 也算是比较主流的两种, Rainbow和Extension, 这里就先介绍下Rainbow吧, 毕竟这个先用, 当然, 由于我使用的是mysql数 ...

  4. yafphp框架

    学习资料 Yaf(Yet Another Framework)用户手册http://www.laruence.com/manual/index.html laruence/yafhttps://git ...

  5. EF 5.0 帮助类

    EF 5.0 帮助类 加入命名空间: using System; using System.Data; using System.Data.Entity; using System.Data.Enti ...

  6. EF 5.0 帮助类 增删改查

    原文地址:http://www.cnblogs.com/luomingui/p/3362813.html EF 5.0 帮助类 加入命名空间: using System; using System.D ...

  7. dapper的Dapper-Extensions用法(一)

    dapper的Dapper-Extensions用法(一) Dapper-Extensions Dapper Extensions is a small library that complement ...

  8. day81

    昨日回顾: 昨日回顾: auth组件: -验证:authenticat(request,username=') -登录:login(request,user) -注销:logout(request), ...

  9. Django QuerySet和中介模型

    笔记如下 一.QuerySet QuerySet是什么? 类似列表里边存着对象 只和ORM有关系 from app01.models import Book def qDemo(request): b ...

  10. auth复习和BBS项目的登录(1)

    auth复习 auth组件 验证:authenticate(request,username='andy',password='123) 登录:login(request,user) 注销:login ...

随机推荐

  1. .NET 开源实时监控系统 - WatchDog

    前言 在平时的开发中随着我们系统应用不断地迭代变的复杂,对应用的实时监控变得越来越重要.实时监控不仅可以帮助我们快速定位问题,还能在出现问题时及时采取措施,减少业务中断的时间. 本文将介绍一个名为Wa ...

  2. 【音视频通话】使用asp.net core 8+vue3 实现高效音视频通话

    引言 在三年前,写智能小车的时候,当时小车上有一个摄像头需要采集,实现推拉流的操作,技术选型当时第一版用的是nginx的rtmp的推拉流,服务器的配置环境是centos,2H4G3M的一个配置,ngi ...

  3. Goby 漏洞发布|泛微 e-cology v10 appThirdLogin 权限绕过漏洞【漏洞复现】

    漏洞名称:泛微 e-cology v10 appThirdLogin 权限绕过漏洞 English Name:Weaver e-cology v10 appThirdLogin Permission ...

  4. SQL无法解决排序规则 Chinese_PRC_CI_AS 和 Latin1_General_CI_AS 的冲突

    最近在执行一些跨库关联查询语句的时候提示了 "Cannot resolve the collatior conflict between "Chinese_PRC_Ci As&qu ...

  5. A4纸尺寸

    A4纸尺寸 A4纸尺寸:210×297: A3纸尺寸:297×420: A2纸尺寸:420×594: A1纸尺寸:594×841: A0纸尺寸:841×1189: 备注:长(mm)×宽(mm) 单位: ...

  6. 全面升级,票据识别新纪元:合合信息TextIn多票识别2.0

    ​ 票据识别 - 自动化业务的守门员 发票.票据识别,是OCR技术和RPA.CMS系统结合的一个典型场景,从覆盖率.覆盖面的角度来说,应该也是结合得最成功的场景之一. 旧瓶装新酒,已经成熟的产品何苦费 ...

  7. Angular Material 18+ 高级教程 – Datepicker の Calendar & Custom DateAdapter (Temporal)

    前言 本篇只会教 Angular Material Datepicker 里最关键的组件 -- Calendar 组件. 还有如何自定义 DateAdapter,让 Calendar 支持 TC39 ...

  8. SEO – Schema and JSON-LD

    大纲介绍 Schema 是 Google, Microsoft, Yahoo 联合成立的, 目的是统一网页的表示方式, 这样搜素引擎会比较方便显示内容. 它虽然不算那种 w3c 独立的组织. 但其它的 ...

  9. USB协议详解第5讲(USB描述符-接口描述符)

    1.USB描述符 USB描述符有设备描述符.标准配置描述符.接口描述符.端点描述符.字符串描述符,HID设备有HID描述符.报告描述符和物理描述符.今天主要是学习USB接口描述符的组成. 2.接口描述 ...

  10. 【墨天轮专访第四期】华为云GaussDB苏光牛:发挥生态优势,培养应用型DBA

    导读: 随着5G互联网时代的来临,各行各业对于数据库的依赖程度也在逐步提高.由于国内在数据库行业的发展起步较晚,数据库的市场份额长期被Oracle,微软等美国公司所控制.但是伴随着国内IT技术栈的不断 ...