ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

关于php+mysql性能在实际工作中的应用实例

2022-05-18 12:32:52  阅读:156  来源: 互联网

标签:收款单 该表 查询 充值 实例 内存 mysql php 备注


背景:在某个财务数据单中,增加一列银行备注。

方案一:通过 收款单号(例如:20220419ABA00100000099072773758)  查询到交易单号(例如:2022041940000001317768330300405),再查询到充值单号(例如:1003703828D6399362770464900575),再查询到 备注 信息,付款集群,db_loan_xx.charge_xx_x ,字段 bank_comment。由于该表是以付款中心的充值单号进行切割,无法进行关联查询,因此需要先查询当天全部充值记录,然后在进行交易单号的匹配

缺点:涉及到不同集群,只能通过关键索引关联,查询数据集合for循环,在查另外集群,运行后存在一定的脚本时长。测试统计大概用时1小时。如果关联字段不存在索引将耗时8小时左右。

 

方案二:通过大表db_loan.big_charge,该表在F_create_time字段上建有索引,查询时加上创建时间。每一天的数据大概在10w-20w之间。查询该表一天的交易数据,然后for循环该表,将收款单号作为key,备注2作为value,以数组的形式存在内存中。在写入时,直接使用收款单号的数组下标。

缺点:对内存要求较大。需要提前判断内存量

 

方案三:一二方案折中,收款单号每500次进行查询一次,然后使用where in 查询银行备注字段,存入内存,循环写入。

标签:收款单,该表,查询,充值,实例,内存,mysql,php,备注
来源: https://www.cnblogs.com/tying/p/16284229.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有