背景:地方、都市、地区は、フロントエンド構造に固定されたループのために組み立てたデータが地方都市によって単離し、JSON、それぞれ存在する3つの州のテーブルを返さ三単離された地区を連動して組み立てする必要が,, 30秒以上を要求
最適化:単離された州、都市は、文字列中にスプライシングGROUP_CONCAT関数JSONを使用して省、市対応郡、地区から直接単離し、次いでフロントエンド・ノード・データ構造に戻ります。全体の要求は約3秒かかります
表の構造:
県:
市:
エリア/県
SQL:
文字列のSQL = "c.cityid値を選択c.cityテキスト、GROUP_CONCAT({\ "テキスト\" \" '、領域、 '\ "\ "の値は、\" \"'、「\'、エリアID }」)opc_area_cities`がJOIN `C FROM子供opc_area_areas A ON a.cityid = c.cityid WHERE c.provinceid =" c.cityid ASC BY c.cityid ORDER BY GROUP?。
クエリ結果:
コード:
一覧<録画>地方= AreaProvinces.dao.getAreaProvincesList( ); // 保存
(録音P:州)のために{
一覧<録画> = AreaCities.dao.getAreaCities都市(p.get( "値")); // GETそして、地区JSON文字列は、対応する都市である
ため(レコードレコード:都市){
文字列は=子供( "子供")record.get;
JSONArray jsonArr = JSONArray.fromObject( "["子供+ + "]"); // JSONに戻りゾーン後
、record.set( "子"、jsonArr)
}
P.SET( "子"、都市);
}
子どもたちは結果を印刷します:
"{\" テキスト\ ":\" 延庆县\ "\ "値\" \ "110229 \"}、{\ "テキスト\":\ "密云县\"、\ "値\" \" 110228 \ "}"