通过mysqli扩展技术实现内存回收
为了有效利用服务器的内存空间,在获取较大结果集时,一旦结束操作,则有必要回收集合所需要的内存,由于mysqli技术可以采用面向对象和面向过程两种编程方式,所以与之对应的内存回收方式就有两种,将通过本实例讲解内存回收机制在项目开发过程中的价值和使用方法。
在上一篇文章《使用mysqli扩展技术实现多个数据表查询》中,我们介绍了mysqli扩展技术实现多个数据表查询,那么我们今天这篇文章主要跟大家介绍mysqli扩展技术实现内存回收!
技术要点
PHP为了迎合不同开发习惯的程序员,在mysqli扩展技术中提供了面向对象和面向过程两种编程方式,所以实现内存回收也存在与之对应的两种方式。如果采用面向过程的编程方式可以通过如下函数实现内存回收:
bool mysqli_close ( object link)
link指mysqli_connect()函数返回的数据库连接句柄。
如果采用面向对象的编程方式,可以通过如下语句实现:
link->close()
link指PHP预定义的mysqli类实例化后的对象。
实现过程
1)建立conn.php文件,实现与MySQL数据库之间的连接。
(2)通过do…while循环显示该班级所有学生的成绩。代码如下:
<?php header("Content-Type:text/html; charset=utf-8"); $link = mysqli_connect("localhost", "root", "root"); $conn = mysqli_select_db($link, "php_cn"); $sql = "select * from student,score where student.id=score.id"; $result = mysqli_query($link, $sql); $res = mysqli_fetch_array($result, MYSQLI_ASSOC); if(!$res) { echo "没有找到你要的信息"; }else{ ?> <table width="600" height="50" border="0" align="center" cellspacing="1" cellpadding="0"> <tr> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'>序列</p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'>名字</p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'>语文成绩</p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'>数学成绩</p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'>外语成绩</p> </td> </tr> <?php do{ ?> <tr> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'><?php echo $res['student_id'];?></p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'><?php echo $res['name'];?></p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'><?php echo $res['chinese'];?></p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'><?php echo $res['mathematics'];?></p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'><?php echo $res['english'];?></p> </td> </tr> <?php }while($res = mysqli_fetch_array($result, MYSQLI_ASSOC)); } $result ->close(); $link ->close(); ?> </table> (3)实现内存的回收。代码如下: $result ->close(); $link ->close();
运行以上示例代码如下图所示:
关于mysqli扩展技术到这里就全部结束了,相信小伙伴们对mysqli的扩展技术有可一定的了解,大家可以再本地试试自己在我们专题中学到的知识!
【相关教程推荐】
1. 相关专题推荐:《php操作mysql数据库》
2.【MYSQL在线免费视频教程】
3. 相关视频课程推荐: 《初级MySQLi 扩展库视频教程》
以上是通过mysqli扩展技术实现内存回收的详细内容。更多信息请关注PHP中文网其他相关文章!

MySQLhandlesconcurrencyusingamixofrow-levelandtable-levellocking,primarilythroughInnoDB'srow-levellocking.ComparedtootherRDBMS,MySQL'sapproachisefficientformanyusecasesbutmayfacechallengeswithdeadlocksandlacksadvancedfeatureslikePostgreSQL'sSerializa

mysqlHandLestActionSefectefectionalytheinnodbengine,supportingAcidPropertiessimilartopostgresqlesqlandoracle.1)mySqluessRepeTableReadAbleDasthEdefaultIsolationLelealevel,该canbeadjustEdToreDtoreDtoreadCommententCommententCommententCommententCommittedForHigh-TrafficsCenarios.2)

最佳实践包括:1)理解数据结构和MySQL处理方式,2)适当索引,3)避免SELECT*,4)使用合适的JOIN类型,5)谨慎使用子查询,6)使用EXPLAIN分析查询,7)考虑查询对服务器资源的影响,8)定期维护数据库。这些做法能使MySQL查询不仅快速,还具备可维护性、可扩展性和资源效率。

MySQLisbetterforspeedandsimplicity,suitableforwebapplications;PostgreSQLexcelsincomplexdatascenarioswithrobustfeatures.MySQLisidealforquickprojectsandread-heavytasks,whilePostgreSQLispreferredforapplicationsrequiringstrictdataintegrityandadvancedSQLf

MySQL通过异步、半同步和组复制三种模式处理数据复制。1)异步复制性能高但可能丢失数据。2)半同步复制提高数据安全性但增加延迟。3)组复制支持多主复制和故障转移,适用于高可用性需求。

EXPLAIN语句可用于分析和提升SQL查询性能。1.执行EXPLAIN语句查看查询计划。2.分析输出结果,关注访问类型、索引使用情况和JOIN顺序。3.根据分析结果,创建或调整索引,优化JOIN操作,避免全表扫描,以提升查询效率。

使用mysqldump进行逻辑备份和MySQLEnterpriseBackup进行热备份是备份MySQL数据库的有效方法。1.使用mysqldump备份数据库:mysqldump-uroot-pmydatabase>mydatabase_backup.sql。2.使用MySQLEnterpriseBackup进行热备份:mysqlbackup--user=root--password=password--backup-dir=/path/to/backupbackup。恢复时,使用相应的命


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Linux新版
SublimeText3 Linux最新版

Atom编辑器mac版下载
最流行的的开源编辑器

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具