mysql百萬級數據庫優化(本地數據庫測試,線上測試到晚上沒人了再更新…)
本地電腦參數:
處理器:2.6 GHz Intel Core i5
內存: 8 GB 1600 MHz DDR3
jy_item錶行數(數據量)
1822766 條數據
以下是整個優化對比過程
#jy_item錶行數(數據量)1822766
SELECT count(id) FROM site_cyts.jy_item where 1; #1822766
#無索引查詢平均耗時
SELECT item_id FROM site_cyts.jy_item where item_id='1527745397RW0mqqoM';#0.665sec
#加雙字段索引(主鍵字段和where條件字段: id和item_id)
alter table site_cyts.jy_item add index id_code USING BTREE (`id` ASC, `item_id` ASC);
#加索引後查詢平均耗時
SELECT item_id FROM site_cyts.jy_item where item_id='1527745397RW0mqqoM';#0.558sec
#刪除索引(兩種寫法都可以)
drop index id_code on site_cyts.jy_item;#寫法一
alter table site_cyts.jy_item drop index id_code ;#寫法二
#刪除索引後查詢平均耗時
SELECT item_id FROM site_cyts.jy_item where item_id='1527745397RW0mqqoM';#0.665sec
#加索引(只加where條件字段: item_id)
alter table site_cyts.jy_item add index item_id USING BTREE (`item_id` ASC);
#加單子段索引
SELECT item_id FROM site_cyts.jy_item where item_id='1527745397RW0mqqoM';#0.00056sec
結論:
where 查詢條件字段加單索引的效果是最好的。基本上是毫秒級的響應
alter table site_cyts.jy_item add index item_id USING BTREE (`item_id` ASC);
#或者簡單點寫
alter table site_cyts.jy_item add index item_id;