mysql数据库优化
PS:随着业务的发展,数据量越来越大了。不能再像之前一样随意查询了,数据库优化势在必行。所以这里总结一下mysql数据库有哪些优化的方法
一、数据库优化的大致分类
1、数据库层面的优化
2、硬件层面的优化
数据库层面的优化:
(1)、影响数据库查询速度的几大因素一是表结构的设计是否合理, 特别是表中的列是否设置了合适的数据类型,是否设置了合适的数据长度以及是否适配了实际的工作场景,例如需要经常更新的表往往有着较少的列,而需要经常分析大量数据的表则有着更多的列。所以一切还是以实际情况为主。
(2)、建立的索引是否生效
(3)、是否使用了合适的存储引擎,mysql数据库有多个存储引擎,不同的存储引擎有着不同的特点,以主键索引为例,在InnoDB引擎中主键索引时将数据存储在叶子节点中,而在myism引擎中则是将数据存储在辅助表,并且所有的数据都是存储在一个.MYD的文件中。所以在适当的时候选择适当的存储引擎对于数据的查询等也是非常有效的。
(4)、数据库表是否使用了固定的行格式,如是否使用了压缩,MySQL表压缩是一个十分实用的功能,mysql中的数据在未指定表压缩时默认使用的存储方式是一页16KB,而使用了表压缩功能时使用的则是8KB,经过压缩后的数据所占的空间更加小了那么在读写数据时也就占用更小的磁盘I/O了,读写速度自然也能够提升了。只要在建表时加上一句 row_format = compressed即可开启此功能。
(5)、合理利用加锁策略。如在可能的情况下允许共享访问,那么数据库能够并行的访问数据,又或者在设当的时候允许独占访问,让重要的操作能够获得更高的优先级。合理的利用加锁策略也是能够较大的提升数据库的性能的。
(6)、正确的使用缓存,只需要确保内存足够容纳频繁访问的数据,而不需要大到超出物理内存可承受的范围。
硬件层面的优化:
(1)、由于磁盘的查询速度收到了一定的物理限制,所以我们可以将查询的数据分发到多个磁盘系统中,也就是分布式存储数据。
(2)、磁盘的读写优化
(3)、cpu周期。当数据在主存中时,我们必须对其处理以获得结果。当大量的数据被挂载到内存中时也会影响数据的查询速度。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
腾讯位置服务地图SDK自定义地图和路况
前言 1、自定义路况 地图SDK一般的路况颜色都是相同的,如道路畅通为绿色、道路缓慢为黄色、道路拥堵为红色,但是通常都无法让用户自定义路况颜色。腾讯地图iOS SDK在4.3.9.1版本提供了自定义路况颜色功能,可以自定义路况的畅通拥堵颜色。 2、自定义地图 腾讯地图SDK在提供了基础配色的情况下,还支持自定义颜色,可以将如绿地、道路、河流等元素修改为自己指定的颜色,实现了高度自定义。 使用场景 1、自定义道路路况颜色 2、自定义地图元素颜色 准备 1、腾讯地图iOS SDK 2、腾讯地图控制台自定义地图样式 接入流程 1、自定义路况: 1)、创建QMapView时添加配置: 通常创建地图对象时直接使用的initWithFrame:方法,而QMapView还提供了另一个可以添加配置的方法 // QMapConfig提供了一个初始化方法,这个方法可以用于设置一个辅助Key // - (instancetype)initWithSubID:(NSString *)subID subKey:(NSString *)subKey; QMapConfig *config = [[QMapConf...
- 下一篇
为了一个HTTP请求问题,差点跟iOS干起来
本次斗殴事件起因全部归iOS,为啥这么说,http请求都不会发,瞎写的什么玩意(ps:他应该不会看到...)。 在处理本次冲突中,意外发现了另外一个存在已久的bug,我们先说说这个玩意,再说我们之间的恩怨。因为这是息息相关的。 SpringBoot中的过滤器 过滤器这东西应该很常见了,但是你的过滤器真的起到拦截的作用了吗?这里就算你起到拦截的作用了,但是你的过滤器能拦截到指定的路径吗?先看一下我原始写法。 谨慎参考: @WebFilter(filterName="baseFilter",urlPatterns="/*")publicclassBaseFilterimplementsFilter{@OverridepublicvoiddoFilter(ServletRequestreq,ServletResponseresp,FilterChainfilterChain){System.out.println("baseFilter拦截了/*");filterChain.doFilter(req,resp);}} 首先这里说下,如果你这是特别单纯的加个@WebFilter就以为ok了,那...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS关闭SELinux安全模块
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker使用Oracle官方镜像安装(12C,18C,19C)