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

<tfoot id='23QSg'></tfoot>

      <bdo id='23QSg'></bdo><ul id='23QSg'></ul>

    <small id='23QSg'></small><noframes id='23QSg'>

  1. <legend id='23QSg'><style id='23QSg'><dir id='23QSg'><q id='23QSg'></q></dir></style></legend>
      <i id='23QSg'><tr id='23QSg'><dt id='23QSg'><q id='23QSg'><span id='23QSg'><b id='23QSg'><form id='23QSg'><ins id='23QSg'></ins><ul id='23QSg'></ul><sub id='23QSg'></sub></form><legend id='23QSg'></legend><bdo id='23QSg'><pre id='23QSg'><center id='23QSg'></center></pre></bdo></b><th id='23QSg'></th></span></q></dt></tr></i><div class="ww5azqa" id='23QSg'><tfoot id='23QSg'></tfoot><dl id='23QSg'><fieldset id='23QSg'></fieldset></dl></div>
    1. 為什么在 PHP 和 MySQL 中使用 PDO 的某些類型的準(zhǔn)備

      Why are certain types of prepared queries using PDO in PHP with MySQL slow?(為什么在 PHP 和 MySQL 中使用 PDO 的某些類型的準(zhǔn)備查詢很慢?)

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

      1. <tfoot id='oAHEn'></tfoot>
              <tbody id='oAHEn'></tbody>
            • <bdo id='oAHEn'></bdo><ul id='oAHEn'></ul>

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

              <legend id='oAHEn'><style id='oAHEn'><dir id='oAHEn'><q id='oAHEn'></q></dir></style></legend>
                本文介紹了為什么在 PHP 和 MySQL 中使用 PDO 的某些類型的準(zhǔn)備查詢很慢?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

                問(wèn)題描述

                當(dāng)使用 SELECT * FROM table WHERE Id IN ( .. ) 查詢超過(guò) 10000 個(gè)鍵時(shí),使用 PDO 和 prepare()/execute(),性能下降約 10 倍使用帶有準(zhǔn)備好的語(yǔ)句的 mysqli 或不使用準(zhǔn)備好的語(yǔ)句的 PDO 進(jìn)行查詢.

                When using SELECT * FROM table WHERE Id IN ( .. ) queries with more than 10000 keys using PDO with prepare()/execute(), the performance degrades ~10X more than doing the same query using mysqli with prepared statements or PDO without using prepared statements.

                更多奇怪的細(xì)節(jié):

                • 更典型的 SELECT 語(yǔ)句沒(méi)有 WHERE Id IN( ..) 子句,即使有 100K+ 行也能很好地執(zhí)行.SELECT * FROM table WHERE Id 例如很快.

                • More typical SELECT statements that don't have the WHERE Id IN( ..) clause perform fine even with 100K+ rows. SELECT * FROM table WHERE Id for example is fast.

                性能下降發(fā)生在 prepare()/execute() 完成之后 - 它完全在 PDOStatement::fetch()PDOStatement::fetchAll() 中>.在所有情況下,MySQL 查詢執(zhí)行時(shí)間都很短 - 這不是 MySQL 優(yōu)化的情況.

                The performance degradation occurs after prepare()/execute() is complete - it's entirely in PDOStatement::fetch() or PDOStatement::fetchAll(). The MySQL query execution time is tiny in all cases - this isn't a case of a MySQL optimization.

                將 10K 查詢拆分為 10 個(gè)具有 1K 鍵的查詢是高效的.

                Splitting the 10K query into 10 queries with 1K keys is performant.

                使用 mysql、帶有準(zhǔn)備語(yǔ)句的 mysqli 或不帶準(zhǔn)備語(yǔ)句的 PDO 是高性能的.

                Using mysql, mysqli with prepared statements, or PDO without prepared statements is performant.

                PDO w/prepared 在下面的例子中需要約 6 秒,而其他需要約 0.5 秒.

                PDO w/prepared takes ~6 seconds on the example below, while the others take ~0.5s.

                您擁有的密鑰越多,非線性就會(huì)變得更糟.嘗試 10 萬(wàn)個(gè)密鑰.

                It gets worse in a non-linear fashion the more keys you have. Try 100K keys.

                示例代碼:

                // $imageIds is an array with 10K keys
                $keyCount = count($imageIds);
                $keys = implode(', ', array_fill(0, $keyCount, '?'));
                $query = "SELECT * FROM images WHERE ImageID IN ({$keys})";
                $stmt = $dbh->prepare($query);
                $stmt->execute($imageIds);
                // until now, it's been fast.  fetch() is the slow part
                while ($row = $stmt->fetch()) {
                    $rows[] = $row;
                }
                

                推薦答案

                確保您告訴 PDO 該值是整數(shù)而不是字符串;如果 PDO 把它作為一個(gè)字符串,那么 MySQL 將不得不對(duì)這些值進(jìn)行類型轉(zhuǎn)換以進(jìn)行比較.根據(jù)它的處理方式,它可能會(huì)導(dǎo)致 MySQL 避免使用索引,從而導(dǎo)致嚴(yán)重的減速.

                Make sure you're telling PDO that the value is an integer not a string; if PDO puts it as a string, then MySQL will have to typecast the values for comparison. Depending on how it goes about this, it could cause major slowdowns by causing MySQL to avoid using an index.

                我不完全確定這里的行為,但幾年前我在 Postgres 上遇到過(guò)這個(gè)問(wèn)題......

                I'm not completely sure about the behaviour here, but I have had this problem with Postgres a few years back...

                這篇關(guān)于為什么在 PHP 和 MySQL 中使用 PDO 的某些類型的準(zhǔn)備查詢很慢?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

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

                相關(guān)文檔推薦

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

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

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

                        • 主站蜘蛛池模板: 工业PH计|工业ph酸度计|在线PH计价格-合肥卓尔仪器仪表有限公司 济南画室培训-美术高考培训-山东艺霖艺术培训画室 | 原色会计-合肥注册公司_合肥代理记账公司_营业执照代办 | 诗词大全-古诗名句 - 古诗词赏析 | 周易算网-八字测算网 - 周易算网-宝宝起名取名测名字周易八字测算网 | 代理记账_公司起名核名_公司注册_工商注册-睿婕实业有限公司 | 重庆监控_电子围栏设备安装公司_门禁停车场管理系统-劲浪科技公司 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 | 昆明挖掘机修理厂_挖掘机翻新再制造-昆明聚力工程机械维修有限公司 | 权威废金属|废塑料|废纸|废铜|废钢价格|再生资源回收行情报价中心-中废网 | 干洗店加盟_洗衣店加盟_干洗店设备-伊蔻干洗「武汉总部」 | 2025世界机器人大会_IC China_半导体展_集成电路博览会_智能制造展览网 | 超细|超微气流粉碎机|气流磨|气流分级机|粉体改性机|磨粉机|粉碎设备-山东埃尔派粉体科技 | 应急灯_消防应急灯_应急照明灯_应急灯厂家-大成智慧官网 | 四探针电阻率测试仪-振实密度仪-粉末流动性测定仪-宁波瑞柯微智能 | 办公室家具_板式办公家具定制厂家-FMARTS福玛仕办公家具 | 踏板力计,制动仪,非接触多功能速度仪,逆反射系数测试仪-创宇 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 广州市哲铭油墨涂料有限公司,水性漆生产研发基地 | 好物生环保网、环保论坛 - 环保人的学习交流平台 | 膏剂灌装旋盖机-眼药水灌装生产线-西林瓶粉剂分装机-南通博琅机械科技 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 合肥注册公司|合肥代办营业执照、2024注册公司流程 | 交流伺服电机|直流伺服|伺服驱动器|伺服电机-深圳市华科星电气有限公司 | 防爆大气采样器-防爆粉尘采样器-金属粉尘及其化合物采样器-首页|盐城银河科技有限公司 | 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | 27PR跨境电商导航 | 专注外贸跨境电商| 体检车_移动CT车_CT检查车_CT车_深圳市艾克瑞电气有限公司移动CT体检车厂家-深圳市艾克瑞电气有限公司 | 曙光腾达官网-天津脚手架租赁-木板架出租-移动门式脚手架租赁「免费搭设」 | 大数据营销公司_舆情监测软件_上海SEO公司-文军营销官网 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 生物除臭剂-除味剂-植物-污水除臭剂厂家-携葵环保有限公司 | 深圳市东信高科自动化设备有限公司 | 安驭邦官网-双向万能直角铣头,加工中心侧铣头,角度头[厂家直销] 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 | 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | 美能达分光测色仪_爱色丽分光测色仪-苏州方特电子科技有限公司 | 不锈钢散热器,冷却翅片管散热器厂家-无锡市烨晟化工装备科技有限公司 | 万家财经_财经新闻_在线财经资讯网 | 河南中整光饰机械有限公司-抛光机,去毛刺抛光机,精密镜面抛光机,全自动抛光机械设备 | 冲击式破碎机-冲击式制砂机-移动碎石机厂家_青州市富康机械有限公司 |