背景
最近在做一個系統 需要去爬取一些可用的車型資料。昨晚指令碼跑了幾小時,今天一看哇,這麼多資料~(ps 還有一張同級別的英文資料的表)還好做了分表處理
表資料
表結構
前端ui
系統其中一個這個介面需求大概是這樣的:
swId
是車的品牌id 使用者進入這個頁面就會開始選擇拉的資料 分別獲取make
車型,model
系統,year
年款
大概資料結構
{
"code": 200,
"message": "success",
"data": [
"MINI",
"SMART",
"一汽豐田",
"一汽佳寶",
"一汽森雅",
"一汽轎車",
"一汽馬自達"
]
}
未做任何處理查表:介面響應
大概需要
27s
第一步調整儲存引擎MyISAM
大資料讀多寫少的時候 使用MyISAM
會大大減少資料檢索時間
此時查詢時間
26.51s
下降到了15.79s
建立索引
- 注意大表資料建立索引也會佔用大量的空間 所以我們遵循從左到右的規則
這個介面都涉及到
swId
欄位的查詢 所以我們先給這個欄位建立一個普通索引
ALTER TABLE `system_model_year` ADD INDEX sw_i(`swId`)
完成 測試
果然起飛
1212 ms
在多請求幾次
最後穩定在
100ms
本作品採用《CC 協議》,轉載必須註明作者和本文連結