pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

    1. <small id='lpagO'></small><noframes id='lpagO'>

    2. <i id='lpagO'><tr id='lpagO'><dt id='lpagO'><q id='lpagO'><span id='lpagO'><b id='lpagO'><form id='lpagO'><ins id='lpagO'></ins><ul id='lpagO'></ul><sub id='lpagO'></sub></form><legend id='lpagO'></legend><bdo id='lpagO'><pre id='lpagO'><center id='lpagO'></center></pre></bdo></b><th id='lpagO'></th></span></q></dt></tr></i><div class="xzzpprr" id='lpagO'><tfoot id='lpagO'></tfoot><dl id='lpagO'><fieldset id='lpagO'></fieldset></dl></div>
    3. <legend id='lpagO'><style id='lpagO'><dir id='lpagO'><q id='lpagO'></q></dir></style></legend>

        <bdo id='lpagO'></bdo><ul id='lpagO'></ul>

      1. <tfoot id='lpagO'></tfoot>

        Laravel 塊和刪除

        Laravel chunk and delete(Laravel 塊和刪除)

        • <bdo id='Jpvr7'></bdo><ul id='Jpvr7'></ul>

          • <small id='Jpvr7'></small><noframes id='Jpvr7'>

          • <legend id='Jpvr7'><style id='Jpvr7'><dir id='Jpvr7'><q id='Jpvr7'></q></dir></style></legend>
            • <tfoot id='Jpvr7'></tfoot>
              <i id='Jpvr7'><tr id='Jpvr7'><dt id='Jpvr7'><q id='Jpvr7'><span id='Jpvr7'><b id='Jpvr7'><form id='Jpvr7'><ins id='Jpvr7'></ins><ul id='Jpvr7'></ul><sub id='Jpvr7'></sub></form><legend id='Jpvr7'></legend><bdo id='Jpvr7'><pre id='Jpvr7'><center id='Jpvr7'></center></pre></bdo></b><th id='Jpvr7'></th></span></q></dt></tr></i><div class="nvr7rdp" id='Jpvr7'><tfoot id='Jpvr7'></tfoot><dl id='Jpvr7'><fieldset id='Jpvr7'></fieldset></dl></div>

                  <tbody id='Jpvr7'></tbody>
                1. 本文介紹了Laravel 塊和刪除的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我想從數據庫中刪除大量項目(1M+),我分叉了一個后臺作業來處理這個問題,這樣用戶就不必等待它完成繼續無論他/她在做什么,問題是,當項目被刪除時,應用程序變得沒有響應,所以我想我會一個塊一個塊地處理這些項目,然后休眠幾秒鐘,然后繼續.

                  I have a large number of items (1M+) that i want to delete from a database, i fork a background job to take care of that, so that the user won't have to wait for it to finish to carry on whatever he/she was doing, the problem is, the app becomes unresponsive while the items are being deleted, so i thought that i would process the items chunk by chunk and sleep for a couple of seconds then carry on.

                  這是處理刪除的代碼:

                  // laravel job class
                  // ...
                  public function handle()
                  {
                      $posts_archive = PostArchive::find(1); // just for the purpose of testing ;)
                      Post::where('arch_id', $posts_archive->id)->chunk(1000, function ($posts) {
                          //go through the collection and delete every post.
                          foreach($posts as $post) {
                              $post->delete();
                          }
                          // throttle
                          sleep(2);
                      });
                  }
                  

                  預期結果:帖子被分塊并處理每個塊,然后空閑 2 秒,重復此操作,直到所有項目都被刪除.

                  Expected result: the posts are chunked and each chunk is processed, then idle for 2 seconds, repeat that until all the items are deleted.

                  實際結果:隨機刪除一次,過程結束.沒有錯誤沒有指標,沒有線索?

                  Actual result: a random number of items is deleted once, then the process ends. no errors no indicators, no clue ?

                  有沒有更好的方法來實現這一點?

                  is there a better way to implement this?

                  推薦答案

                  Laravel 并沒有針對您處理此問題的方式進行具體說明.如果作業中的刪除查詢凍結了 UI 的其余部分,聽起來您的數據庫服務器需要審查或優化.

                  There is nothing Laravel specific about the way you'd handle this. It sounds like your database server needs review or optimization if a delete query in a job is freezing the rest of the UI.

                  檢索每個模型并單獨運行刪除查詢絕對不是優化此操作的好方法,因為您將執行數百萬個查詢.如果您希望嘗試限制應用程序中的每秒負載而不是優化數據庫服務器來處理此查詢,則可以使用帶有刪除限制的 while 循環:

                  Retrieving each model and running a delete query individually definitely isn't a good way to optimize this as you'd be executing millions of queries. You could use a while loop with a delete limit if you wish to try to limit the load per second in your application instead of optimizing your database server to handle this query:

                  do {
                      $deleted = Post::where('arch_id', $posts_archive->id)->limit(1000)->delete();
                      sleep(2);
                  } while ($deleted > 0);
                  

                  這篇關于Laravel 塊和刪除的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  MySQLi prepared statement amp; foreach loop(MySQLi準備好的語句amp;foreach 循環)
                  Is mysqli_insert_id() gets record from whole server or from same user?(mysqli_insert_id() 是從整個服務器還是從同一用戶獲取記錄?)
                  PHP MySQLi doesn#39;t recognize login info(PHP MySQLi 無法識別登錄信息)
                  mysqli_select_db() expects exactly 2 parameters(mysqli_select_db() 需要 2 個參數)
                  Php mysql pdo query: fill up variable with query result(Php mysql pdo 查詢:用查詢結果填充變量)
                  MySQLI 28000/1045 Access denied for user #39;root#39;@#39;localhost#39;(MySQLI 28000/1045 用戶“root@“localhost的訪問被拒絕)

                    <tbody id='VUDrn'></tbody>
                    <legend id='VUDrn'><style id='VUDrn'><dir id='VUDrn'><q id='VUDrn'></q></dir></style></legend>
                  • <tfoot id='VUDrn'></tfoot>

                  • <i id='VUDrn'><tr id='VUDrn'><dt id='VUDrn'><q id='VUDrn'><span id='VUDrn'><b id='VUDrn'><form id='VUDrn'><ins id='VUDrn'></ins><ul id='VUDrn'></ul><sub id='VUDrn'></sub></form><legend id='VUDrn'></legend><bdo id='VUDrn'><pre id='VUDrn'><center id='VUDrn'></center></pre></bdo></b><th id='VUDrn'></th></span></q></dt></tr></i><div class="jhfnnbn" id='VUDrn'><tfoot id='VUDrn'></tfoot><dl id='VUDrn'><fieldset id='VUDrn'></fieldset></dl></div>
                      • <bdo id='VUDrn'></bdo><ul id='VUDrn'></ul>

                        <small id='VUDrn'></small><noframes id='VUDrn'>

                            主站蜘蛛池模板: 小型手持气象站-空气负氧离子监测站-多要素微气象传感器-山东天合环境科技有限公司 | 滚塑PE壳体-PE塑料浮球-警示PE浮筒-宁波君益塑业有限公司 | 999范文网_优质范文下载写作帮手| 上海深蓝_缠绕机_缠膜机-上海深蓝机械装备有限公司 | 科箭WMS仓库管理软件-TMS物流管理系统-科箭SaaS云服务 | [官网]叛逆孩子管教_戒网瘾学校_全封闭问题青少年素质教育_新起点青少年特训学校 | 烟台条码打印机_烟台条码扫描器_烟台碳带_烟台数据采集终端_烟台斑马打印机-金鹏电子-金鹏电子 | 黄石妇科医院_黄石东方女子医院_黄石东方妇产医院怎么样 | 药品/药物稳定性试验考察箱-埃里森仪器设备(上海)有限公司 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 自动售货机_无人售货机_专业的自动售货机运营商_免费投放售货机-广州富宏主官网 | 浙江美尔凯特智能厨卫股份有限公司 | 杭州画室_十大画室_白墙画室_杭州美术培训_国美附中培训_附中考前培训_升学率高的画室_美术中考集训美术高考集训基地 | 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 - 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 | 飞歌臭氧发生器厂家_水处理臭氧发生器_十大臭氧消毒机品牌 | 交通气象站_能见度检测仪_路面状况监测站- 天合环境科技 | 苏州注册公司_苏州代理记账_苏州工商注册_苏州代办公司-恒佳财税 | 股指期货-期货开户-交易手续费佣金加1分-保证金低-期货公司排名靠前-万利信息开户 | 超声波反应釜【百科】-以马内利仪器 | 欧版反击式破碎机-欧版反击破-矿山石料破碎生产线-青州奥凯诺机械 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 分类168信息网 - 分类信息网 免费发布与查询 | 自进式锚杆-自钻式中空注浆锚杆-洛阳恒诺锚固锚杆生产厂家 | 沈阳建筑设计公司_加固改造设计_厂房设计_设计资质加盟【金辉设计】 | 万博士范文网-您身边的范文参考网站Vanbs.com | 全自动在线分板机_铣刀式在线分板机_曲线分板机_PCB分板机-东莞市亿协自动化设备有限公司 | 周口风机|周风风机|河南省周口通用风机厂 | 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 电动手术床,医用护理床,led手术无影灯-曲阜明辉医疗设备有限公司 | 防水套管|柔性防水套管|伸缩器|伸缩接头|传力接头-河南伟创管道 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 钢结构-钢结构厂房-钢结构工程[江苏海逵钢构厂]| 蓝牙音频分析仪-多功能-四通道-八通道音频分析仪-东莞市奥普新音频技术有限公司 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | wika威卡压力表-wika压力变送器-德国wika代理-威卡总代-北京博朗宁科技 | 橡胶接头|可曲挠橡胶接头|橡胶软接头安装使用教程-上海松夏官方网站 | 成都竞价托管_抖音代运营_网站建设_成都SEM外包-成都智网创联网络科技有限公司 | 高温链条油|高温润滑脂|轴承润滑脂|机器人保养用油|干膜润滑剂-东莞卓越化学 | 实验室pH计|电导率仪|溶解氧测定仪|离子浓度计|多参数水质分析仪|pH电极-上海般特仪器有限公司 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 无负压供水设备,消防稳压供水设备-淄博创辉供水设备有限公司 | PO膜_灌浆膜及地膜供应厂家 - 青州市鲁谊塑料厂 |