对于mysql认识很少,今天写程序的时候一直在想怎么去优化,语句的优化大概就是用到了支持索引的查找.
对于select查找发现了一些以前没有注意到的问题,
1.select * 进行全盘扫描,所以查询速度慢.2.不支持索引的条件也是进行全盘的扫描所以也会比较慢.
3.如果WHERE中存在支持索引的查询,则先建立以索引条件查询到的数据的临时表,然后在用不支持索引的条件全盘筛选.
4.索引不能建立的太多,因为索引建立太多会引起文件多次读写.导致修改 插入删除 速度变慢.因为每次插入都要进入到索引文件进行修改.当索引文件达几百兆甚至几G时操作非常缓慢.
5.查询时是根据条件建立临时表 每一个and都会在临时表中依据条件筛选.
6.left join 会将2个表进行数据统计后在进行临时表的条件筛选,会大大的加大数据量导致执行缓慢