关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。
1.添加PRIMARY KEY(主键索引)
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
2.添加UNIQUE(唯一索引)
mysql>ALTER TABLE `table_name` ADD UNIQUE (
`column`
)
3.添加INDEX(普通索引)
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
4.添加FULLTEXT(全文索引)
mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
5.添加多列索引
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
下面来做个实验:
sql语句
select count(1) from tb_goods g
LEFT JOIN tb_photo_url photos
on photos.type_id = g.goods_id and photos.is_master = 1 and photos.type = 1
goods表中有3000条数据, tb_photo_url 表中有7W条数据,查询时间为11.589s。
在tb_photo_url 中加入索引
ALTER TABLE tb_photo_url ADD INDEX photos ( type_id )
goods表中有3000条数据,tb_photo_url 表中有7W条数据,查询时间为0.212s。
由此可见索引在大数据中的重要性。