sql语句,索引,视图,存储过程

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: sql语句,索引,视图,存储过程

       数据库是按照数据结构来组织,存储和管理数据的仓库;是一个长期存储在计算机内的,有组织的,可共享的,统一管理的大量数据的集合;访问数据库在内存的数据,数据需要落盘后才会返回结果;

       mysql中oltp是用B+树或lsm存储数据;olap是用列式存储的;

       DML是数据操作语言的简称,即增删改;

       DQL是数据查询语言简称,即select;

       DDL是数据定义语言简称,即create创建,alter修改,drop删除表,试图,数据库对像等;

       DCL是数据控制语言简称,grant授予用户权限,revoke收回用户权限;

       TCL是事务控制语言简称,commit事务提交,rollback事务回滚;

mysql内部执行方式,网络处理模型使用了io多路复用select+阻塞io,每条线程处理一条连接的数据,所以mysql命令处理是多线程并发处理的模式,线程的默认配置最大数为151;mysql是采用短链接的方式,如果连接长时间没有使用,会断开这条连接,回收对应的线程资源;

mysql体系结构

       connection pool提前分配了一些线程,当一条连接到达,我们就分配线程给这条连接;其作用有鉴权密码验证,线程复用,连接限制,检查内存,caches等;

       sql interface对sql语言进行词法语法分析,生成语法树;parser用于过滤表等是否存在的情况;Optimizer优化器用于制定执行计划,因为不同的sql语句有不同的执行方式,选择执行成本最小的计划;Caches&Buffers用于缓存热点数据,如果缓存中没有对应的数据就得检索磁盘加载数据;

       mysql默认使用的可插拔引擎是InnoDB;

数据库设计三范式和反范式

       三范式是为了降低空间,其内容有列不可分,依赖主键(联合索引),在依赖主键的基础上直接依赖;反范式是通过增加空间来减少运行时间,允许冗余存储,为了提升查询效率;

CRUD

       百分之九十以上的事情都是在做CRUD,百分之九考虑表是怎么设计的,剩下百分之一的时间可能就是做些索引优化之类的事情;

       crud中有五大约束,not null 非空约束,auto_increment 自增约束,unique 唯一约束,primary 主键约束,foreign 外键约束;

       删除数据有三种方式,drop删除整张表,表结构和表数据,包括索引,约束,触发器等,速度最快,不能回滚;truncate删除表数据,其他保留,速度较快,不能回滚,以页为单位进行删除;delete删除部分或全部数据,其他保留,条件删除,速度最慢,可以回滚,逐行删除;

高级查询

       1)分组聚合

               去除重复,合并重复,通过聚合函数实现;

       2)联表查询

               把表想象成集合,分为内联inner join,内联是取交集的意思;外联left join或right join或full join;

       3)子查询

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
2月前
|
存储 SQL 关系型数据库
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
|
5月前
|
SQL 存储 关系型数据库
SQL优化策略与实践:组合索引与最左前缀原则详解
本文介绍了SQL优化的多种方式,包括优化查询语句(避免使用SELECT *、减少数据处理量)、使用索引(创建合适索引类型)、查询缓存、优化表结构、使用存储过程和触发器、批量处理以及分析和监控数据库性能。同时,文章详细讲解了组合索引的概念及其最左前缀原则,即MySQL从索引的最左列开始匹配条件,若跳过最左列,则索引失效。通过示例代码,展示了如何在实际场景中应用这些优化策略,以提高数据库查询效率和系统响应速度。
183 10
|
6月前
|
SQL 索引
【YashanDB知识库】字段加上索引后,SQL查询不到结果
【YashanDB知识库】字段加上索引后,SQL查询不到结果
|
4月前
|
存储 SQL 数据库连接
C#程序调用Sql Server存储过程异常处理:调用存储过程后不返回、不抛异常的解决方案
本文分析了C#程序操作Sql Server数据库时偶发的不返回、不抛异常问题,并提出了解决思路。首先解析了一个执行存储过程的函数`ExecuteProcedure`,其功能是调用存储过程并返回影响行数。针对代码执行被阻塞但无异常的情况,文章总结了可能原因,如死锁、无限循环或网络问题等。随后提供了多种解决方案:1) 增加日志定位问题;2) 使用异步操作提升响应性;3) 设置超时机制避免阻塞;4) 利用线程池分离主线程;5) 通过信号量同步线程;6) 监控数据库连接状态确保可用性。这些方法可有效应对数据库操作中的潜在问题,保障程序稳定性。
381 11
|
7月前
|
SQL 关系型数据库 OLAP
云原生数据仓库AnalyticDB PostgreSQL同一个SQL可以实现向量索引、全文索引GIN、普通索引BTREE混合查询,简化业务实现逻辑、提升查询性能
本文档介绍了如何在AnalyticDB for PostgreSQL中创建表、向量索引及混合检索的实现步骤。主要内容包括:创建`articles`表并设置向量存储格式,创建ANN向量索引,为表增加`username`和`time`列,建立BTREE索引和GIN全文检索索引,并展示了查询结果。参考文档提供了详细的SQL语句和配置说明。
184 2
|
11月前
|
SQL Oracle 关系型数据库
SQL优化-使用联合索引和函数索引
在一次例行巡检中,发现一条使用 `to_char` 函数将日期转换为字符串的 SQL 语句 CPU 利用率很高。为了优化该语句,首先分析了 where 条件中各列的选择性,并创建了不同类型的索引,包括普通索引、函数索引和虚拟列索引。通过对比不同索引的执行计划,最终确定了使用复合索引(包含函数表达式)能够显著降低查询成本,提高执行效率。
159 3
|
11月前
|
存储 SQL 缓存
SQL Server存储过程的优缺点
【10月更文挑战第22天】存储过程具有代码复用性高、性能优化、增强数据安全性、提高可维护性和减少网络流量等优点,但也存在调试困难、移植性差、增加数据库服务器负载和版本控制复杂等缺点。
427 1
|
11月前
|
存储 SQL 数据库
Sql Server 存储过程怎么找 存储过程内容
Sql Server 存储过程怎么找 存储过程内容
602 1
|
存储 SQL
sql_存储过程、函数、分支、循环
sql_存储过程、函数、分支、循环
183 0
|
存储 SQL 安全
SQL 存储过程和函数的对比、变量、条件和处理程序、游标、流程控制详解+代码示例
SQL 存储过程和函数的对比、变量、条件和处理程序、游标、流程控制详解+代码示例