第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何改進 WordPress 插入/更新查詢?

如何改進 WordPress 插入/更新查詢?

PHP
森林海 2023-04-28 14:15:27
我正在創(chuàng)建自己的 WordPress 插件,將配置文件導入為帖子,并且在腳本運行時,我希望改進插入/更新帖子的查詢。這個腳本每 5 分鐘運行一次,并且像這樣工作,1.從本地用戶表中的外部源導入/更新所有配置文件。這很簡單并且工作正常2 . 在更新之前將所有現(xiàn)有帖子自定義字段狀態(tài)設置為離線$offline = "UPDATE $meta SET meta_value='offline' WHERE meta_key='status'";3 . 從表用戶中選擇所有在線的配置文件$new_query = "SELECT * FROM users WHERE status='online' ORDER BY visitors DESC";4 . 對于每個配置文件,如果帖子存在,則更新,否則創(chuàng)建新帖子$result = $wpdb->get_results($new_query);foreach ($result as $post){    $cat = $post->gender.'s';    $getterm = get_term_by('name',$cat,'user-category');    $cat_id = $getterm->term_id;    $custfields = array (        'name'          => $post->name,        'age'           => $post->age,        'subject'       => $post->subject,        'status'        => $post->status,        'fans'          => $post->fans,        'visitors'      => $post->visitors,    );    endif;    $postarr = array (        'post_title'    => $post->username,        'post_name'     => $post->username.'-profile',        'post_content'  => 'something',        'post_type'     => 'users-profile',        'post_category' =>  array($cat_id),        'post_status'   => 'publish',               'meta_input'    => $custfields    );    $postcheck = get_page_by_title($post->username,OBJECT, 'users-profile');            if($postcheck):            update_post_meta($postcheck->ID ,'subject', $post->subject );            update_post_meta($postcheck->ID ,'status', $post->status );            update_post_meta($postcheck->ID ,'visitors', $post->visitors );    else :        wp_set_object_terms(wp_insert_post( $postarr,true),$cat_id,'user-category',true);    endif;}) 
查看完整描述

1 回答

?
幕布斯6054654

TA貢獻1876條經(jīng)驗 獲得超7個贊

前綴索引 (KEY?meta_key(?meta_key(191))) 是可憎的。是的,由于utf8mb4.?但它正在傷害你。做這個

SELECT?MAX(CHAR_LENGTH(meta_key))?from?wp_postmeta;

如果返回 191 或更小,則將 meta_key 的大小更改為 191 并(191)在索引中刪除。

UPDATEing很多行中的標志似乎是一種笨拙的處理方式。有沒有一種方法可以在不使用離線/在線標志的情況下簡單地折疊新數(shù)據(jù)?(我想我仍然缺少意圖。)如果它是一百萬行,則該更新可能需要很長時間。

“所有不在 SELECT 中的帖子”——這聽起來像是“多表更新”語句。這將涉及一個LEFT JOIN ON ... WHERE ... IS NULL.?你能用重要的列模擬幾行嗎?向我們展示這些表格中應該包含的內(nèi)容的“之前”和“之后”。

您還可以將上述操作應用于post_name.

age整數(shù)(11)

你每年都在增加嗎?


查看完整回答
反對 回復 2023-04-28
  • 1 回答
  • 0 關注
  • 125 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號