高并发大流量专题---10、MySQL数据库层的优化

别等时光非礼了梦想. 提交于 2020-04-26 08:09:38

高并发大流量专题---10、MySQL数据库层的优化

一、总结

一句话总结:

mysql先考虑做分布式缓存,过了缓存后就做mysql数据库层面的优化

 

1、mysql数据库层的优化的前面一层是什么?

数据库缓存:突破了数据库缓存就需要做mysql数据库层的优化

 

2、mysql优化方向?

数据表数据类型优化;索引优化;SQL语句的优化
存储引擎的优化
数据表结构设计的优化
数据库服务器架构的优化

 

3、mysql数据表的数据类型优化考虑?

合适:字段使用什么样的数据类型更合适
更快:字段使用什么样的数据类型性能更快

 

4、使用char还是varchar需要考虑什么?

存储字符串长度是否固定

 

5、使用tinyint、smallint、bigint需要考虑什么?

空间:考虑空间的问题
范围:考虑范围的问题

 

6、IP地址的如何存储?

可以使用整型存储IP地址:php应该有将ip转成整型的方法

 

7、mysql索引如何优化?

建立合适的索引
思考索引在什么场景下效率最高

 

8、mysql索引的创建原则?

索引不是越多越好,在合适的字段上创建合适的索引
复合索引的前缀原则

 

9、mysql索引的注意事项?

1、复合索引的前缀原则
2、like查询%的问题
3、or条件索引使用情况
4、字符串类型索引失效的问题:如果里面是整形,不要引号索引失效


复合索引的前缀原则
like查询%的问题
全表扫描优化
or条件索引使用情况
字符串类型索引失效的问题:如果里面是整形,不要引号索引失效

 

10、SQL语句如何优化?

优化查询过程中的数据访问
优化长难句的查询语句
优化特定类型的查询语句

 

11、优化查询过程中的数据访问 需要注意什么?

使用Limit
返回列不用*

 

12、如何优化长难句的查询语句?

变复杂为简单
切分查询
分解关联查询:有利于做数据层面的缓存

 

13、如何优化特定类型的查询语句?

优化count()
优化关联查询;优化子查询
优化Group by和distinct;优化limit和union

 

14、mysql数据库存储引擎如何优化?

尽量使用InnoDB存储引擎:是行锁不是表锁

 

15、数据表结构设计如何优化?

分区操作:通过特定的策略对数据表进行物理拆分:比如地域
分库分表:比如经常在线的和经常不在线的分开

 

16、分区操作的特点?

通过特定的策略对数据表进行物理拆分:比如地域
对用户透明
partition by

 

17、分库分表的方式有哪些?

水平拆分:拆行:比如经常在线的和经常不在线的分开
垂直拆分:拆列

 

18、数据库服务器架构如何优化?

主从复制
读写分离
双主热备
负载均衡

 

 

19、mysql数据库中的主从复制、读写分离、双主热备 如何实现?

使用mysql的vlog日志、中心日志,通过主库和从库的vlog来回的交换,事件来回的传送,即可实现

 

 

20、MySQL的负载均衡 如何实现?

通过LVS的三种基本模式实现负载均衡
MyCat数据库中间件实现负载均衡

 

 

 

二、内容在总结中

 

 

 

 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!