先看看网上一个牛表:关系型数据库——单表60亿
单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构纯查询的操作可以是这样:
1、查询语句上,只写必要的字段,建好索引,注意一下查询条件的使用,多表查询不要用框架(自己写sql)
ref 浅谈MySQL中优化sql语句查询常用的30种方法_Mysql_脚本之家
2、一定要分页(一些小表也养成习惯,哪怕你在前台设置多一点可选记录数选项(如,10,50,100,500,1000(局域网环境),不能再多了孩子))
3、在一定数量的基础上,做好表分区
4、拆表
5、拆库
其他操作:
1、表设计很关键,不要老是去改表(mysql 5.6以上版本支持online ddl之后,改动表结构对数据的影响少了)
2、使用事务操作表数据(减少操作时间)
3、使用缓存(减少数据库连接次数)
4、读写分离
5、使用集群(有难同当,把单机的压力分到多机,还可以避免一个服务器挂掉了)
硬件方面:
1、硬盘上ssd,我猜的(手动滑稽)
2、内存搞大点是很必要的
先写这么点吧,除了硬件方面容易搞定,其他的地方都是要花点功夫的。
作者:者也
链接:https://www.zhihu.com/question/19719997/answer/186391149
来源:知乎