mysql数据库优化

 1、表设计过程中应该注意的点即数据类型 
              1)更小的通常更好 
                  控制字节长度
              
              2)使用合适的数据类型
                  如tinyint只占8个位,char(1024)与varchar(1024)的对比,char用于类似定长数据存储比varchar节省空间,如:uuid(32),可以用char(32).


              3)尽量避免NULL建议使用NOT NULL DEFAULT ''
                  NULL的列会让索引统计和值比较都更复杂。可为NULL的列会占据更多的磁盘空间,在Mysql中也需要更多复杂的处理程序
 

2、索引设计过程中应该注意的点

              1)选择唯一性索引
                  唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录,保证物理上面唯一

              2)为经常需要排序、分组和联合操作的字段建立索引
                  经常需要ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作会浪费很多时间

              3)常作为查询条件的字段建立索引
                  如果某个字段经常用来做查询条件,那么该字段的查询速度会影响整个表的查询速度        
    
              4)数据少的地方不必建立索引

 

 3、sql优化,explain查看执行计划(注意:扫描行数会影响CPU运行,占用大量内存)
       
 
              1) 能够用BETWEEN的就不要用IN 

              2) 能够用DISTINCT的就不用GROUP BY

              3)  避免数据类型强转

              4) 学会采用explain查看执行计划

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值