MySQL的优化

总结:

MySQL数据库优化这方面我是有一些自己的理解的,一般分为两种,sql优化和表优化,表优化最长用的就是使用中间表,大表拆小表。sql优化中的话我总结的就三点,第一,最大化利用索引。第二,尽可能避免全表扫描。第三,减少无效数据的查询访问。第一最大化利用索引的话,首先我们要看该如何的去正确的建立索引,所以分为普通索引,复合索引,唯一索引,主键索引,空间索引,全文索引。普通索引的话就是加快对数据的访问速度,没有任何限制;复合索引的话就是在一张表中多个列共同组成了一个索引,比如,在一张表中创建了一个复合索引(c1,c2,c3),在实际查询中,系统用来实际加速的索引有三个:单例索引c1,双列索引c1,c2;多列索引c1,c2,c3;唯一索引是不允许同列数据中有相同值的索引,创建唯一索引就是为了避免出现重复数据。主键索引也是一种唯一索引,既不允许重复,也不允许值为空,并且每个表中只能有一个主键。上面讲的这几个也是我自己认为最长用的几种索引了。同时我们在创建索引使用索引的时候也需要注意几点,比如索引在创建和维护的时候需要消耗时间,这个时间会随着数据链的增多而增多,另外除了表中数据占用空间,索引也需要占用一定的空间,如果需要建立聚簇索引,那么需要的空间就会更大。在创建索引的时候MySQL提供了三种创建索引的方法,分别是create index 、create table 、alter table ,create index是在已经创建好的表中添加创建索引,create table是在创建表的时候就直接给表中的数据创建索引,alter table是更改表中原本的索引。另外sql的优化策略就是一些尽量不要在字段前边加模糊查询%,尽量不要使用in 和not in ,如果是连续数值的话可以使用between代替,还有尽量不要使用or。避免使用null值判断,可以给字段添加默认值为0,对0进行判断。查询条件尽量不要使用<   >  或指!=,增删改方面的优化的话大批量插入数据建议使用一个insert语句添加多个值,因为这样只需要解析一次就可以进行数据的插入操作了。,另外查询方面的优化的话可以把一些复杂的sql拆分为多个小sql,避免大事务。上面讲的这些大部分都是我对MySQL数据库优化方面的一些见解了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值