MySQL 第九篇:Mysql 与 ORACLE 开发差异、Mysql 优化

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 我把MySQL的内容整理成9篇博客,学完这9篇博客虽不能说能成为大神,但是应付一般中小企业的开发已经足够了,有疑问或建议的欢迎留言讨论。 Mysql 与 ORACLE 开发差异 一、 常用的基本数据类型对比 二、 常用 SQL函数以及其它语法差异 Mysql 优化 一、 数据库设计 a) 适当的违反三大范式。

我把MySQL的内容整理成9篇博客,学完这9篇博客虽不能说能成为大神,但是应付一般中小企业的开发已经足够了,有疑问或建议的欢迎留言讨论。

Mysql 与 ORACLE 开发差异

一、 常用的基本数据类型对比

76838d15f95c5994afb59540f1143514ad47c2f1

二、 常用 SQL函数以及其它语法差异

ef4fe316c784120407714e3f8b0b0266f60fc8dd

Mysql 优化

一、 数据库设计

a) 适当的违反三大范式。
b) 适当建立索引。
c) 对表进行水平划分(按照一个周期对表数据进行拆分)。
d) 对表进行垂直划分(对字段内容较长的字段进行拆分到一个新表)。
e) 选择合适的字段类型。能占用字节小的字段就不要去大字段。
f) 文件、图片等二进制的文件使用文件系统存储,不用数据库。数据库中只存储文件路径。
g) 宁可集中批量操作 也不要频繁操作。
h) 合适的引擎选择 mysql 的数据库引擎,innodb,myisam,memory 。Myisam 比innodb 的读速度更快。Innodb 是支持事务。Myisam 不支持事务。

二、SQL 语句优化

a. 使用 EXPLAIN 进行 SQL 语句的执行解析。
b. Mysql 慢 日 志 的 功 能 需 要 去 配 置 文 件 修 改 slow_query_log=/usr/xx.txtlong_query_time=2 单位秒。
c. 查询语句尽量避免全表扫描,在 where order by 等涉及的字段建立索引。
d. 尽量避免在 where 子句中对 null 值进行判断,如果进行 null 判断则会放弃索引查询走全表扫描,解决办法:在 null 字段设置一个默认值来代表无值。
e. 尽量避免在 where 子句中使用!= 或 <>操作符,放弃走索引进行全表扫描,解决办法:改为>= <=。
f. Like 查询,使用’%jame’ 不会走索引,使用’jame%’ 会走索引。
g. 尽量避免在 where 子句中使用 or 来连接条件 不会走索引走全表扫描。解决办法:将两个条件作为两条 sql 语句执行 使用 union all 来进行结果集的整合。
h. In 和 not in 也要少用,会导致全表扫描。
i. 尽量避免在 where 子句中对字段进行表达式的操作,不会走索引会走全表扫描。Num/3=100 修改成 num = 3*100。
j. 尽量避免在 where 子句中使用函数对字段进行操作. Substring(name,1,3)=’xzg’ 修改成name like ‘xzg%’。
k. 不要在 Where 字句的 =号的左边进行函数或者其他表达式的运算,数据库可能就无法正确使用索引。
l. 使用 exists 来代替 in。
m. 在代码中尽量避免使用 select * from 而是列出准确的字段名。
n. 尽量避免使用游标。
o. 数据较少的表 尽量让他走全表扫描。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
10天前
|
关系型数据库 MySQL 测试技术
MySQL的`IN`的优化经验
限制IN列表的长度:IN子句中的元素数量较多时,会显著降低查询性能。尽量减少IN中的项数量。
|
1天前
|
存储 算法 关系型数据库
MySQL连接的原理⭐️4种优化连接的手段性能提升240%🚀
MySQL连接的原理⭐️4种优化连接的手段性能提升240%🚀
|
1天前
|
SQL canal 运维
MySQL高可用架构探秘:主从复制剖析、切换策略、延迟优化与架构选型
MySQL高可用架构探秘:主从复制剖析、切换策略、延迟优化与架构选型
|
1天前
|
存储 算法 关系型数据库
MySQL怎样处理排序⭐️如何优化需要排序的查询?
MySQL怎样处理排序⭐️如何优化需要排序的查询?
|
1天前
|
SQL 存储 关系型数据库
5分钟搞懂MySQL半连接优化⭐️多种半连接的优化策略
5分钟搞懂MySQL半连接优化⭐️多种半连接的优化策略
|
1天前
|
SQL 存储 关系型数据库
MySQL的3种索引合并优化⭐️or到底能不能用索引?
MySQL的3种索引合并优化⭐️or到底能不能用索引?
|
1天前
|
存储 Oracle 关系型数据库
oracle 数据库 迁移 mysql数据库
将 Oracle 数据库迁移到 MySQL 是一项复杂的任务,因为这两种数据库管理系统具有不同的架构、语法和功能。
11 0
|
1天前
|
存储 关系型数据库 MySQL
MySQL的优化利器⭐️Multi Range Read与Covering Index是如何优化回表的?
本文以小白的视角使用通俗易懂的流程图深入浅出分析Multi Range Read与Covering Index是如何优化回表
|
2天前
|
存储 SQL 关系型数据库
MySQL的优化利器⭐️索引条件下推,千万数据下性能提升273%🚀
以小白的视角探究MySQL索引条件下推ICP的优化,其中包括server层与存储引擎层如何交互、索引、回表、ICP等内容
MySQL的优化利器⭐️索引条件下推,千万数据下性能提升273%🚀
|
3天前
|
传感器 人工智能 前端开发
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
智慧校园电子班牌,坐落于班级的门口,适合于各类型学校的场景应用,班级学校日常内容更新可由班级自行管理,也可由学校统一管理。让我们一起看看,电子班牌有哪些功能呢?
43 4
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式

推荐镜像

更多