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
目录
相关文章
|
11天前
|
关系型数据库 MySQL 测试技术
MySQL的`IN`的优化经验
限制IN列表的长度:IN子句中的元素数量较多时,会显著降低查询性能。尽量减少IN中的项数量。
|
10天前
|
SQL 存储 关系型数据库
Mysql优化提高笔记整理,来自于一位鹅厂大佬的笔记,阿里P7亲自教你
Mysql优化提高笔记整理,来自于一位鹅厂大佬的笔记,阿里P7亲自教你
|
11天前
|
SQL 存储 关系型数据库
【MySQL】SQL 优化
【MySQL】SQL 优化
33 0
|
23小时前
|
SQL 缓存 关系型数据库
下次老板问你MySQL如何优化时,你可以这样说,老板默默给你加工资
【5月更文挑战第20天】下次老板问你MySQL如何优化时,你可以这样说,老板默默给你加工资
18 3
|
3天前
|
缓存 关系型数据库 MySQL
如何优化MySQL性能?
【5月更文挑战第23天】如何优化MySQL性能?
10 1
|
5天前
|
SQL 存储 关系型数据库
MySQL怎样优化千万级数据
MySQL在处理千万级数据时可能存在性能挑战。本文介绍了几个优化策略来改善查询效率
|
9天前
|
缓存 关系型数据库 MySQL
如何优化MySQL数据库查询性能
MySQL是一款常用的关系型数据库,但在实际使用过程中,由于数据量增加和查询操作复杂度增加,会导致查询性能下降。本文将介绍一些优化MySQL数据库查询性能的方法。
|
11天前
|
存储 算法 关系型数据库
MySQL连接的原理⭐️4种优化连接的手段性能提升240%🚀
MySQL连接的原理⭐️4种优化连接的手段性能提升240%🚀
|
11天前
|
SQL canal 运维
MySQL高可用架构探秘:主从复制剖析、切换策略、延迟优化与架构选型
MySQL高可用架构探秘:主从复制剖析、切换策略、延迟优化与架构选型
|
11天前
|
存储 算法 关系型数据库
MySQL怎样处理排序⭐️如何优化需要排序的查询?
MySQL怎样处理排序⭐️如何优化需要排序的查询?

推荐镜像

更多