热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php数据怎么减少(2023年最新分享)

导读:本篇文章编程笔记来给大家介绍有关php数据怎么减少的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、PHP-大数据量怎么处理优化2、wordpress 怎样减少数据库读取量3、p

导读:本篇文章编程笔记来给大家介绍有关php数据怎么减少的相关内容,希望对大家有所帮助,一起来看看吧。

本文目录一览:


  • 1、PHP-大数据量怎么处理优化


  • 2、wordpress 怎样减少数据库读取量


  • 3、php查询出来的数据怎么相减

PHP-大数据量怎么处理优化

大数据的话可以进行以下操作:

减少对数据库的读取,也就是减少调用数据库,

进行数据缓存,

利用数据库的自身优化技术,如索引等

精确查询条件,有利于提高查找速度

wordpress 怎样减少数据库读取量

#1,若您的WordPress版本为2.3及以前,可采用如下方法令系统自动缓存内部调用函数,而完全不用担心缓存对系统交互性的影响(如延迟等)。

Step1:在WordPress安装目录下的wp-content文件夹下创建名为cache的目录,属性设置为755,如下图:

Step2:打开WordPress安装根目录下的wp-config.php文件,在其尾端加入define('ENABLE_CACHE', true);,如下图:

保存后上传更新文件,刷新页面后,可发现新创建的cache文件夹中生成了如下文件:

缓存的是一些不需要经常修改的文件,如分类名称、存档日期等。该缓存方法名为object缓存,并不缓存网页,而传统的wp-cache调用是缓存网页的,会影响网页的交互实时性,使用户体验些许变差。

#2,若您的WordPress版本为2.5及以上版本,由于新版WP取消了object缓存功能可以使用将所有待查数据都存入数据库options表(一般的默认名称为wp_options)的方法,大幅度减少数据库查询次数。ThinkAgain的解释如下:

默认WP有10个数据表,wp_posts和comments主要存储文章内容和评论,

其它的几个包括term等存储了目录和标签等等。这里不细谈。wp_options用来存储Wordpress以及插件运行时所涉及的配置等。且WP会在

运行时自动读取该表的内容。换句话说,因为WP已经预读这部分内容,所以直接调用wp_options内的数据是不会产生数据库查询的。()

方法:假如要缓存的是分类名称调用表单,则写functions.php如下代码:

function cache_category(){

$cached = get_option('multicolor_cache_category');

if($cached){

echo $cached;

}else{

$cached = cache_collapsible_list_cats();

echo "Update cache";

echo $cached;

}

}

add_action('publish_post', 'cache_collapsible_list_cats');

当然,这显得很复杂,不过ThinkAgain说,WP2.6也是可以使用object自动缓存功能的,请等待他更新的方法。

#3,由于WordPress的内部永久链接调用函数为了追求老版插件的最大兼容性所以较啰嗦,比较耗费查询次数,可在functions.php写入如下代码,大幅度减少查询次数(均适用)

function revised_permalink($post, $leavename=false) {

$rewritecode = array(

'%year%',

'%monthnum%',

'%day%',

'%hour%',

'%minute%',

'%second%',

$leavename? '' : '%postname%',

'%post_id%',

'%category%',

'%author%',

$leavename? '' : '%pagename%',

);

if ( empty($post-ID) ) return FALSE;

if ( $post-post_type == 'page' )

return get_page_link($post-ID, $leavename);

elseif ($post-post_type == 'attachment')

return get_attachment_link($post-ID);

$permalink = get_option('permalink_structure');

if ( '' != $permalink !in_array($post-post_status, array('draft', 'pending')) ) {

$unixtime = strtotime($post-post_date);

$category = '';

if ( strpos($permalink, '%category%') !== false ) {

$cats = get_the_category($post-ID);

if ( $cats )

usort($cats, '_usort_terms_by_ID'); // order by ID

$category = $cats[0]-slug;

if ( $parent=$cats[0]-parent )

$category = get_category_parents($parent, FALSE, '/', TRUE) . $category;

// show default category in permalinks, without

// having to assign it explicitly

if ( empty($category) ) {

$default_category = get_category( get_option( 'default_category' ) );

$category = is_wp_error( $default_category ) ? '' : $default_category-slug;

}

}

$author = '';

if ( strpos($permalink, '%author%') !== false ) {

$authordata = get_userdata($post-post_author);

$author = $authordata-user_nicename;

}

$date = explode(" ",date('Y m d H i s', $unixtime));

$rewritereplace =

array(

$date[0],

$date[1],

$date[2],

$date[3],

$date[4],

$date[5],

$post-post_name,

$post-ID,

$category,

$author,

$post-post_name,

);

$permalink = get_option('home') . str_replace($rewritecode, $rewritereplace, $permalink);

$permalink = user_trailingslashit($permalink, 'single');

return apply_filters('post_link', $permalink, $post);

} else { // if they're not using the fancy permalink option

$permalink = get_option('home') . '/?p=' . $post-ID;

return apply_filters('post_link', $permalink, $post);

}

}

点击下面的链接下载修改好的文件,请解压后上传或粘贴到您原来的文件中。此方法文章页查询次数至少可降低10。

注意:如果您原来的插件有诸如下面的代码,并且您的永久链接方式为postname而不是postid,请修改

$sql = "SELECT ID, post_title, comment_count,post_date, post_content FROM $tableposts WHERE post_status = 'publish' ";

$sql = "SELECT ID, post_name, post_title,

comment_count,post_date, post_content FROM $tableposts WHERE

post_status = 'publish' ";

至此您的数据库查询次数将减小为个位数,繁忙时访问速度提高较显著,速度应当与直接生成静态文件时的情况差距不大,但互动性丝毫不减。

php查询出来的数据怎么相减

直接余额=余额-总金额就可以了

或者麻烦点也可以定义一个变量=余额-总金额

然后把这个变量赋值到余额的字段里面就OK了

结语:以上就是编程笔记为大家介绍的关于php数据怎么减少的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。


推荐阅读
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • 本文介绍了PHP常量的定义和使用方法,包括常量的命名规则、大小写敏感性、全局范围和标量数据的限制。同时还提到了应尽量避免定义resource常量,并给出了使用define()函数定义常量的示例。 ... [详细]
author-avatar
252575936_8ea84a
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有