sql的优化经验

这里解释一下SQL语句的优化的原理

1.指明字段名称,可以尽量使用覆盖索引,避免回表查询,因此可以提高效率

2.字面意思,无需过多赘述。索引就是为了提高查询效率的。

3.图中两条sql直接可以使用union all 或者 union连接。使用union all 的话,就会把两条sql所有符合条件的查询结果直接合并。使用union的话,就会多一步过滤,过滤掉二者的重复项。效率相对较低。

4.避免在where子句使用对字段进行表达式操作,这也是因为可能会造成索引失效。如:1.7中索引失效的第三种情况

5.如下图,这里有两个循环。循环三次的可以看作小表,循环1000次的看作大表。

小表放外面,MySql只需要连接三次数据库,然后在里面执行1000次操作。

而把大表放外面,就相当于要连接1000次数据库!每次执行三次操作。 

而使用内连接,就会优先把小表放外面,大表放里面。而左右连接并不会改变顺序(因为编写sql的时候就已经确定了两个表的位置了)。因此优先使用内连接。

当有写操作进来的时候,就会走Master数据库,进行写操作,然后Master数据库再把数据同步到Slave数据库。

当有读操作进来的时候,就直接走Slave进行查询。

从而实现读写分离。

精彩内容

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。