mysql strtolower_GitHub - redfoxli/mysqlstr: a php extension provide string processing of mysql
mysqlstr
Introduction
a php extension provide string processing of mysql
(strtolower && strtoupper base utf8)
把mysql里的字符串处理函数封装成php扩展,供php使用
目前只提供了utf8下的大写转小写以及小写转大写这两个功能
Why need this php ext
the result of strtolower(strtoupper) is different between php and mysql
efficiency
写这个扩展的目的有两个,一个是php的大小写转换函数和mysql的有一些区别,另外一个是性能问题
##Installation
$ /path/to/phpize
$ ./configure --with-php-config=/path/to/php-config
$ make
$ make install
add extension=mysqlstr.so in php.ini
Interface
strtoupper_utf8_ext
strtoupper_utf8_ext - make a utf8 string uppercase
Description
string strtoupper_utf8_ext(string str)
strtolower_utf8_ext
strtolower_utf8_ext - make a utf8 string lowercase
Description
string strtolower_utf8_ext(string str)
Example
case
$str = "High School D×DⅡ ";
$timeMB = microtime(true);
$resMb = mb_strtolower( $str, "UTF-8");
$timeMB = microtime(true) - $timeMB;
$timeSQL = microtime(true);
$resSQL = strtolower_utf8_ext($str);
$timeSQL = microtime(true) - $timeSQL;
echo "mbTime:" . sprintf("%.5f",$timeMB)." \n";
echo "sqlTime:" . sprintf("%.5f",$timeSQL)."\n";
echo "mbRes:" . $resMb . "\n";
echo "sqlRes:" . $resSQL . "\n";
result
mbTime:0.00004
sqlTime:0.00001
mbRes:high school d×dⅡ
sqlRes:high school d×dⅱ
efficiency case
$str = "High School D×DⅡ ";
$timeMB = microtime(true);
for($i=0;$i<30000;$i++)
$resMb = mb_strtolower( $str, "UTF-8");
$timeMB = microtime(true) - $timeMB;
$timeSQL = microtime(true);
for($i=0;$i<30000;$i++)
$resSQL = strtolower_utf8_ext($str);
$timeSQL = microtime(true) - $timeSQL;
echo "mbTime: " . sprintf("%.5f",$timeMB)." \n";
echo "sqlTime: " . sprintf("%.5f",$timeSQL)."\n";
result:
mbTime: 0.18481
sqlTime: 0.01055
More
String processing of mysql base mysql-5.1.74
More related analysis base Chinese is here
mysql strtolower_GitHub - redfoxli/mysqlstr: a php extension provide string processing of mysql相关推荐
- 远程mysql用ssh连接_使用SSH密钥连接到远程MySQL服务器
远程mysql用ssh连接 In this article, it will be described how to connect to remote MySQL Server on Linux O ...
- xampp下载,踩得mysql的坑!!使用本机之前装入的mysql+idea配置PHP
xampp下载,踩得mysql的坑!!使用本机之前装入的mysql+idea配置PHP 啊,昨天准备开始学习PHP一些基础知识.首先,我们得需要一些基础的环境: 安装 web 服务器 安装 PHP 安 ...
- liunx上mysql源码安装mysql,搞定linux上MySQL编程(一):linux上源码安装MySQL
[版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 1. 首先下载源码包: ftp://ftp.jaist.ac.jp/pub/m ...
- mysql数据库是一个软件呐_15款好用的mysql管理软件
1. Induction Induction是一款用于理解数据关系的开源管理工具,它可用来探索行/列,运行查询和数据可视化等方面.该工具支持多种数据库,包括PostgreSQL,MySQL,SQLit ...
- linux mysql c语言编程,在Linux下通过C语言操作MySQL数据库
2010年1月27日 晚 22:10 作者:longyun(http://www.linuxdiyf.com/mailto:mtd527@gmail.com) 续:小弟最近想学习数据库,并想开发一个简 ...
- mysql如何下载连接到visual_Visual Studio 2015 Community连接到Mysql
Visual Studio 2015 Community连接到MySQL,步骤很简单,但刚弄的时候一脸懵,现在记录如下以作备忘: 安装好VS2015和Mysql后,只需要再安装两个东西即可. 一个是S ...
- 《mysql性能调优与架构设计》笔记: 一mysql 架构组成
2019独角兽企业重金招聘Python工程师标准>>> 2.1mysql物理文件组成 2.1.1日志文件: 1,查看mysql配置文件:mysql --verbose --help ...
- mysql哪些数据库不能删除吗_为什么我不能删除MySQL数据库?
问题 我在Mac OS 10.8.2上运行MySQL 5.5.23,无法删除特定的数据库,但我可以删除其他数据库. 当我试图删除特定的表我得到这个错误: #1548 - Cannot load fro ...
- mysql 清空表怎么恢复_mysql怎么恢复删除的表?mysql找回误删表的数据方法
下面小编就为大家带来一篇mysql 找回误删表的数据方法(必看).小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧. 有备份的话很简单,只需要生成一个最近备份的数据,然后用 ...
最新文章
- python中time()时间的相关问题
- Eclipse中Spring插件:Spring Tool 4(aka Spring Tool Suite 4)插件安装
- D - Undoubtedly Lucky Numbers CodeForces - 244B(数论 )
- IOS web app一些实用的属性设置
- 关于spring cloud的几个问题
- php随笔10-thinkphp 3.1.3 模板继承 布局
- PHP学习笔记(八)
- Docker 基础技术之 Linux namespace 详解
- 5G概念被热炒,运营商吃相不要太难看
- AMPL—快速了解,秒懂它。
- 系统项目验收测试报告怎么做?2020最新测试报告模板
- SOPCAST所有频道的地址
- vue项目中使用echarts 地图 自定义图标
- 三行代码搭建一个全能书籍系统(wiki)
- Java获取基金接口天天基金_天天基金网数据接口
- 基于区块链的Smart系统-题库及试卷管理模块的设计与开发
- js 兼容事件添加addEvent()
- springboot使用actuator
- OpenCV中将Mat RGBA4通道转换成RGB3通道
- 【ASTRA 3D的配置】
热门文章
- org.hibernate.annotationexception no identifier specified for entity
- 编写一个判断素数的函数,在主函数输入一个整数时,输出是否素数的信息。...
- Service Broker实现发布-订阅(Publish-Subscribe)框架(3)
- 使用CEfSharp 下载文件 弹出保存框 IDownloadHandler
- Selenium - 简介
- 使用事务操作SQLite数据批量插入,提高数据批量写入速度,源码讲解
- 支付宝支付-常用支付API详解(查询、退款、提现等)-转
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载
- Ext.LoadMask遮罩的效果几种实现方式
- 比较正宗的验证邮箱的正则表达式js代码详解