优化01

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
复制代码
Mysql数据库的优化技术
对mysql优化时一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(
index) [四种: 普通索引(什么都不写)、主键索引(有一个主键,效率最高)、唯一索引unique、全文索引(对文本的索引)、组合索引] c: 分表技术(水平分割、垂直分割) d: 读[select][写: update/delete/add]分离 e: 存储过程 [比普通的sql要快,模块化编程,可以提高速度]
复制代码

 

数据库(oracle,mysql,db2,sqlserver)的3层结构:

数据库是文件,dbms来操作文件。
dbms拿到客户端的sql语句要先编译,在执行,执行后返回数据时候要缓存一下。直接发sql语句就要编译,编译耗时。把经常用的sql语句写成存储过程。存储过程是编译好的,客户端直接调用存储过程,就不用编译要快。存储过程的移植性不好。

f: 对mysql配置优化 [配置最大并发数my.ini, ,一般1000就可以,太大内存不够。还有调整缓存大小 ]
g: mysql服务器硬件升级
h: 定时的去清除不需要的数据,定时进行碎片整理(尤其是存储引擎是MyISAM的,不清理会出问题) 

 

复制代码
什么样的表才是符合3NF (范式)
表的范式,是首先符合1NF, 才能满足2NF , 进一步满足3NF,最高6范式。

1NF: 即表的列的具有原子性,不可再分解,即列的信息,不能分解, 只有数据库是关系型数据库(mysql/oracle/db2/informix/sysbase/sql server),就自动的满足1NF

 数据库的分类
关系型数据库: mysql/oracle/db2/informix/sysbase/sql server
非关系型数据库: (特点: 面向对象或者集合)
NoSql数据库: MongoDB(特点是面向文档)


2NF: 表中的记录是唯一的, 就满足2NF, 通常我们设计一个主键来实现

3NF: 即表中不要有冗余数据, 就是说,表的信息,如果能够被推导出来,就不应该单独的设计一个字段来存放. 比如下面的设计就是不满足3NF。classname和depart可以推出来。
复制代码

反3NF : 但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是: 在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余(一对多都可能遇到)。 
表设计要是一个通路,各个表都可以互相查到。

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/8204217.html,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
监控 物联网 云计算
优化服务配置:提升效率与用户体验的关键
随着科技的迅猛发展,服务配置已经成为企业和个人生活中不可或缺的一部分。无论是云计算、移动应用、还是物联网设备,都需要良好的服务配置来确保顺畅的运行和卓越的用户体验。本文将探讨服务配置的重要性,以及如何优化配置以提高效率和用户满意度。
|
3月前
|
测试技术
优化if-else的11种方案
优雅编码不仅提升程序效率,也增进代码可读性与维护性。通过早返回减少嵌套逻辑、运用三元运算符简化条件判断、采用`switch-case`优化多分支结构、实施策略模式灵活应对不同情境、利用查找表快速定位处理方式、封装函数明确职责划分、应用命令模式解耦操作与调用、引入状态模式管理复杂状态变化、重构条件表达式以增强清晰度、运用断言确保前提条件、及合理异常处理等十大技巧,使代码更加精炼与优雅。
67 4
优化if-else的11种方案
|
4月前
|
数据采集 存储 编译器
优化计算效率
【7月更文挑战第26天】优化计算效率
76 8
|
6月前
|
缓存 算法 测试技术
优化 C#编程性能的策略
【4月更文挑战第20天】优化C#性能策略包括:选择合适算法和数据结构,避免频繁对象创建,缓存常用数据,减少内存分配,使用异步编程,优化数据库操作(如合理查询和使用索引),利用多线程并行处理,精简代码,使用性能分析工具,硬件升级,以及进行性能测试。综合应用这些策略可提升程序性能和响应性。
65 4
|
11月前
|
数据库 数据格式
SimpleQuery优化
SimpleQuery优化
66 0
|
存储 缓存 JavaScript
优化SPA性能的方法
Web开发中,随着JavaScript的发展,越来越多的网站开始采用单页面应用程序(SPA)的方式来呈现内容。SPA相对于传统的多页面应用程序来说,具有更好的用户体验和更快的加载速度。但是,随着SPA的流行,页面越来越复杂,也面临着越来越多的性能问题。在这篇文章中,我们将讨论一些优化SPA性能的方法。
244 0
|
SQL 缓存 测试技术
预告片优化方案
 看了一下代码,同时在线上做了观察压测。个人总结这个接口问题在于太过于依赖缓存,根本不会走DB。依赖缓存造成了依赖缓存的数据结构。首先要从缓存中取出一堆数据。而且要走两次,一次取正片的信息,一次取专辑内所有视频的信息。取出来的信息在CPU里计算筛选,排序。本身缓存取数据就比较快,再加上计算量大。其实我们并发量最大的api接口们都是采用这个模式设计的。调用的多了,我觉得我真是压测的狠的话,会造成CPU密集。其实现在的缓存之类的都可以持久化了,完全可以当数据库用。但是关系型数据作为一个长久的经典还有一个很重要的原因:保持一个IO和CPU使用的平衡。
预告片优化方案
卡常优化
为卡常而生的三个函数 封装的快读
185 0
|
缓存 前端开发 JavaScript
怎么对网站进行性能方面的优化
1、尽可能减少HTTP请求:图片合并 (css sprites),Js脚本文件合并、css文件合并2、减少DNS查询DNS查询服务指域名查找,指将请求的域名转化为对应的IP地址,就如姓名和门牌号的关系。
1223 0