MySQL数据库层的优化思路

下面为大家梳理一下mysql数据库层的优化思路

1、数据表数据类型的优化

 

  • 注意tinyint,samllint,bigint的区别。int(10)和int(11)的区别在于显示的宽度上,存储能力是一样的
  • char和varchar的区别。已知大约长度值,一般用var效率更高。

2、索引优化

 

  • 索引并非越多越好,合适的字段上创建合适的作引,索引会影响增删改操作,并且占用磁盘空间,更新数据也要维护索引
  • 符合索引的前缀原则要明确,索引失效的情况要清楚(例如,abc三个索引,只有a可以,只有b不可以,只有c不可以,abc可以,但是bc索引失效,ac索引失效)
  • like查询时%的问题,like 'aa%'索引生效,like '%aa%'索引无效
  • 全表扫描优化
  • or条件索引失效的情况(or前有索引,后无索引,索引失效,or前后字段要分别建索引)
  • 字符串类型索引失效问题(存的var,查询时要用引号,否则索引失效)
  • 枚举类型数据要加'',否则索引失效

3、sql语句的优化

 

  • explain 做sql语句分析

4、存储引擎的优化

 

  • InnoDB和MYISAM的区别
  • InnoDB支持事务,行级锁,对高并发处理较好,具有崩溃修复更能,但是行锁开销较大
  • MYISAM不支持事务,表锁,易产生碎片,需要定期清理 命令是optimize table tablename1,tablename2

5、数据表结构的优化

6、数据库服务器架构的优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值