数据库优化相关建议

一、数据库优化
建表:

create table user(
id int not null,
name varchar(200),
ip int )engine=innodb default charset=utf8;


1.  选择合适的字段类型,比如用户状态选择tinyint,因为tinyint占用一个字节

2.  尽量每个字段都添加NOT NULL

3.  能够用数字类型尽量使用数字类型,比如IP地址可以使用int类型保存

4.  选择合适的表引擎,比如:如果这个表写操作比较频繁,建议使用innodb

5.  选择合适的字符集。一般都是选择utf8

6.  根据业务情况,给经常作为where/order by /group by后面的字段添加索引

7.  把不常用的字段和字段类型比较大(text) 划分到其他表中

8.  适当地冗余,反范式。以达到空间换取时间
一般数据库配置文件的参数也是需要根据业务情况改动。

二、架构层面的优化:

1. 分库分表

2. 搭建主从数据库,做到读写分离。减少单台数据库服务器压力

三、查询的优化:

select id,name from user where md5(name) = ''  limit 10 //先把一个sql语句写出来,然后分析



1.  不要使用*,尽量只查需要的字段

2.  尽量使用LIMIT,减少数据传输大小

3.  尽量根据索引来检索数据


4.  尽量不使用子查询,可以使用连接替换,连接字段需要添加索引

5.  尽量减少在数据库进行运算、使用内置函数

6.  尽量减少使用like模糊查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值