偶然的机会发现mysql在多表连接查询时数据库效率会严重下降
A表6000条 B表1000条 其他表很少不算
查询时间居然需要22秒左右
加上索引后效率变成了156ms,差距实在太大了
添加索引的方法
CREATE [UNIQUE] INDEX <index_name> ON <table_name>(字段 [ASC|DESC]); UNIQUE --确保所有的索引列中的值都是可以区分的。 [ASC|DESC] --在列上按指定排序创建索引。 (创建索引的准则: 1.如果表里有几百行记录则可以对其创建索引(表里的记录行数越多索引的效果就越明显)。 2.不要试图对表创建两个或三个以上的索引。 3.为频繁使用的行创建索引。 ) 示例 create index i_lh_sn on lottery_history(serial_number asc); create index i_1h_lt on lottery_history(lottery_type asc); create index i_go_sn on gamble_order(serial_number asc); create index i_go_lt on gamble_order(lottery_type asc);
在连接查询的时候on后边的字段可以考虑加上索引,这样会大大的提升效率