1 Mysql是做什么用?
百科中这样介绍:MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。
简单理解就是一个数据管理系统,我们平时用来对数据进行增删改查;但是如何做好增删改查也不是那么简单的事情。
2 使用时涉及到的点,分为4个方面;
服务器、mysql服务端、mysql客户端、业务相关表设计sql编写;我们经常参与的是业务相关的工作;下面每个点只是说个大概。
2.1 mysql服务安装所在服务器配置
服务器硬盘内存cpu网络配置会影响mysql服务的性能:;
cpu: 高频率的CPU也可以提高MySQL的处理速度;
内存:数据和索引缓存在内存中,每个连接的额外内存需求;
硬盘:硬盘存储容量取决于数据量的大小,索引、数据和日志文件需要空间。对于快速启动和运行,MySQL的磁盘性能直接影响到查询和写入操作的速度。使用SSD(固态硬盘)可以显著提高读写速度。
网络:根据数据库服务器的使用场景和规模,网络带宽的需求可能会有所不同。
2.2 mysql服务端配置:
网络连接数:设置同时连接到MySQL服务器的最大数量等;
缓存大小:包括innodb_buffer_pool_size和key_buffer_size等,用于调整内存缓冲区的大小;
压缩配置:COMPRESS 页压缩,TPC 压缩等;
还有其他很多配置项;
2.3 mysql客户端配置:
配置文件中使用连接池连接数据库,根据业务情况进行配置;
连接数: 最小最大连接数;
超时时间:connectionTimeout连接超时时间等;
还有其他参数,每个连接池参数不太一样;
2.4 业务设计方面:
数据的格式:表设计,字段类型选择;索引设计;目的就是怎么设计,才能更快的增删改查;
保存:了解保存怎么实现的;大量数据保存时批量多次;索引对保存的影响等;
更新:更新是怎么实现的,大量数据批量多次;减少响应时间;减少锁竞争等;
删除:有哪些删除数据的方式,删除时对性能影响;清空表的方案对比;
查询:了解查询过程是怎么样的;怎么写sql语句,怎么建索引才能查的更快;避免一次查询出过多的数据可以分批查,复杂查询拆开查;查看sql执行计划等;
以上是列举我们使用过程中涉及到的点,平时工作中全面考虑到每个点可能出现的问题,哪些点可以优化。先找到问题点,接下里每个点再具体分析。