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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

用于一對(duì)多關(guān)系改進(jìn)的 json 數(shù)組

用于一對(duì)多關(guān)系改進(jìn)的 json 數(shù)組

PHP
元芳怎么了 2022-07-02 15:47:47
我有一個(gè)包含三個(gè)表的數(shù)據(jù)庫(kù):Lemma          LemmaScrittura        LemmaSignificato-------------  -----------------    ------------------|id         |  | id             |   | id             ||category.  |  | writing_1      |   | meaning_ITA    ||frequency  |  | writing_2      |   | meaning_EN     ||antonym.   |  | id_Headword(FK)|   | id_Headword(FK)|-------------  ------------------   ------------------關(guān)系:1 個(gè)引理 -> 許多 LemmaScrittura 1 個(gè)引理 -> 許多 LemmaSignificato我正在嘗試用 JSON 表示這些表,以將這些信息發(fā)送到我的 iOS 應(yīng)用程序;但我有時(shí)間問(wèn)題。API 這是我用來(lái)制作 API 的代碼:讀取.php<?phpheader("Access-Control-Allow-Origin: *");header("Content-Type: application/json; charset=UTF-8");include_once("../objects/lemma.php");include_once("../objects/lemmaScrittura.php");include_once("../config/database.php");$lemmaObj = new Lemma();$stmt = $lemmaObj->read();$num = $stmt->num_rows;$scritturaObj = new LemmaScrittura();if($num > 0){    $lemmaArr = array();    while($row = mysqli_fetch_array($stmt)){        extract($row);        $lemma=array(            "ambitoUso"         =>  $ambito_Uso,            "catGramm"          =>  $cat_Gramm,            "confrontaCon"      =>  $confrontaCon,            "contrario"         =>  $contrario,            "frequenza"         =>  $frequenza,            "kanjiRef"          =>  $kanji_ref,            "noKanjiLemmaID"    =>  $no_Kanji_Lemma_ID,            "subCatGramm"       =>  $sub_cat_Gramm,            "xRef"              =>  $x_ref        );        array_push($lemmaArr, $lemma);    }        // set response code - 200 OK    http_response_code(200);    // show products data in json format    echo json_encode($lemmaArr);database.php 文件是創(chuàng)建與數(shù)據(jù)庫(kù)的連接的文件。要嘗試使用 Postman 的 api,當(dāng)我調(diào)用此 API 時(shí),請(qǐng)求會(huì)持續(xù) 80-90 毫秒。但如果添加第二個(gè)表所有更改。如果我調(diào)用這個(gè) API 來(lái)獲取第二個(gè)表的行,請(qǐng)求會(huì)持續(xù) 45-50 秒。顯然,如果我還添加第三張表,則持續(xù)時(shí)間會(huì)增加。引理包含 +7300 行,引理包含 +7600 行我的問(wèn)題是:1)正常嗎?2)如何改進(jìn) API 以使請(qǐng)求更快?3)我在本地主機(jī)中,如果我在真實(shí)服務(wù)器上會(huì)有所不同嗎?可以更快嗎?
查看完整描述

1 回答

?
ABOUTYOU

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

你提出了太多的數(shù)據(jù)庫(kù)請(qǐng)求!使用來(lái)自其他表? id_Headword ?(或其他)的索引創(chuàng)建視圖或執(zhí)行由連接查詢組成的選擇查詢。喜歡 :


SELECT L.*, LS.writing_1 AS ls_writing_1, LS.writing_2 AS ls_writing_2, 

LSG.meaning_ITA AS lsg_meaning_ITA, LSG.meaning_EN AS lsg_meaning_EN 

FROM Lemma AS L 

INNER JOIN LemmaScrittura AS LS

ON(L.id = LS.id_Headword)

INNER JOIN LemmaSignificato AS LSG

ON (L.id = LSG.id_Headword)

您可以用 ? as ? 重命名其他數(shù)據(jù)表的列。然后你就有了一個(gè)有組織的代碼和結(jié)果。


如果您想將所有行合二為一,請(qǐng)這樣做(第一個(gè)值;第二個(gè)值;第三個(gè)值;等等):


SELECT L.*, 

GROUP_CONCAT(DISTINCT LS.writing_1 SEPARATOR ";") AS ls_writing_1,

GROUP_CONCAT(DISTINCT LS.writing_2 SEPARATOR ";") AS ls_writing_2,

GROUP_CONCAT(DISTINCT LSG.meaning_ITA SEPARATOR ";") AS lsg_meaning_ITA,

GROUP_CONCAT(DISTINCT LSG.meaning_EN SEPARATOR ";") AS lsg_meaning_EN

FROM Lemma AS L 

LEFT JOIN LemmaScrittura AS LS

ON(L.id = LS.id_Headword)LEFT JOIN LemmaSignificato AS LSG

ON (L.id = LSG.id_Headword)

然后在 PHP 中,您可以輕松恢復(fù)所有內(nèi)容,您只需在它們之間交叉數(shù)據(jù)即可。(第一行;第二行;等等)


為了降低速度,您可以將所有數(shù)據(jù)保存在“json”文件中。并將文件數(shù)據(jù)直接發(fā)送到您的 API。然后,如果有任何更改,您將更新文件(使用按鈕、cron 等)。


服務(wù)器和本地主機(jī)之間可能減慢速度的區(qū)別在于帶寬以及用戶請(qǐng)求的數(shù)量以及等待服務(wù)器響應(yīng)的數(shù)量。所以在本地,它要快得多。


查看完整回答
反對(duì) 回復(fù) 2022-07-02
  • 1 回答
  • 0 關(guān)注
  • 143 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)