SQL
文章平均质量分 95
Megetood
这个作者很懒,什么都没留下…
展开
-
MySql索引SQL优化,Explain
EXPLAIN 使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是 如何处理你的SQL语句的。分析你的查询语句或是结构的性能瓶颈 示例 在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询时,会返回执行计划的信息,而不是执行这条SQL(如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中) **使用的表和数据 ** DROP TABLE IF EXISTS `actor`; CREATE TABLE `actor` (原创 2021-01-07 21:06:28 · 235 阅读 · 0 评论 -
查询优化
count(*) 一般情况下,三者执行的效率为 COUNT(*)= COUNT(1)> COUNT(字段)。我们尽量使用COUNT(*),当然如果你要统计的是某个字段的非空数据行数,则另当别论,毕竟比较执行效率的前提是结果一样才可以。 如果要统计COUNT(*),尽量在数据表上建立二级索引,系统会自动采用key_len小的二级索引进行扫描,这样当我们使用SELECT COUNT(*)的时候效率就会提升,有时候可以提升几倍甚至更高。 limit 1 如果确定结果集只有一条,那么加上LIMIT 1的时原创 2020-09-26 21:29:37 · 177 阅读 · 0 评论 -
事务隔离级别
数据库事务的隔离性是事务的基本特性之一,可以防止数据库在并发处理时出现数据不一致的情况。 事务并发处理时会存在的异常情况: 脏读(Dirty Read) 不可重复读(Nnrepeatable Read) 幻读(Phantom Read) 脏读 读到了其他事务还没有提交的数据。 比如有一张表,拥有5条数据。小明正在插入一条数据,但是还没有提交事务。此时,小黑来读取这张表的数据,正确情况是读取到5条数据,而他却读取到了6条数据(包含了小明未提交的那一条),这就是脏读。 不可重复读 对某数据进行读取,发现两次原创 2020-09-26 21:27:55 · 112 阅读 · 0 评论 -
事务的特性:ACID
事务的特性:ACID A,也就是原子性(Atomicity)。原子的概念就是不可分割,你可以把它理解为组成物质的基本单位,也是我们进行数据处理操作的基本单位。 C,就是一致性(Consistency)。一致性指的就是数据库在进行事务操作后,会由原来的一致状态,变成另一种一致的状态。也就是说当事务提交后,或者当事务发生回滚后,数据库的完整性约束不能被破坏。 I,就是隔离性(Isolation)。它指的是每个事务都是彼此独立的,不会受到其他事务的执行影响。也就是说一个事务在提交之前,对其他事务都是不可见的。原创 2020-09-26 21:26:41 · 145 阅读 · 0 评论 -
sql聚集函数
聚集函数 函数 说明 COUNT() 总行数 MAX() 最大值 MIN() 最小值 SUM() 求和 AVG() 平均值 查询最大生命值大于 6000,且有次要定位的英雄数量 SELECT COUNT(role_assist) FROM heros WHERE hp_max > 6000 #运行结果是 23 有些英雄没有次要定位,即 role_assist 为 NULL,这时 COUNT(role_assist)会忽略值为 NULL 的数据行,而 COUNT(*原创 2020-09-23 19:37:08 · 128 阅读 · 0 评论 -
sql函数
算术函数 函数名 定义 ABS() 去绝对值 MOD 取余 ROUND() 对传入的字段值四舍五入,传参为字段名、小数位数 SELECT ABS(-2) 运行结果为 2 SELECT MOD(101,3) 运行结果 2 SELECT ROUND(37.25,1) 运行结果 37.3 字符串函数 函数名 定义 CONCAT() 将多个字符串拼接 LENGTH() 计算字段长度(一个汉字算3个字符,数字字母算1个字符) CHAR_LENGTH 计算字段长度(原创 2020-09-23 19:34:27 · 167 阅读 · 0 评论 -
SQL数据过滤
约束sql查询返回结果的数量和筛选符合条件的结果返回,减少不必要的数据行是提升sql效率最简单最常用的方法 比较运算符 含义 运算符 等于 = 不等于 <> 或 != 小于 < 小于等于 / 不大于 <= 或 !> 大于 > 大于等于 / 不小于 >=或!< 在指定的两个数值之间 BETWEEN 为空值 IS NULL 逻辑运算符 含义 逻辑运算符 并且 AND 或者 OR 在指定范围内原创 2020-09-23 19:33:47 · 121 阅读 · 0 评论 -
SELECT 查询的基础语法
查询列 SELECT name FROM heros; (单列) SELECT name, hp_max, mp_max FROM heros; (多列) SELECT * FROM heros; (所有列) 起别名 SELECT name AS n FROM heros; (AS 可以省略) 查询常数 字符串都用单引号 SELECT '王者荣耀' as platform, name FROM heros 去除重复行 SELECT DISTINCT attack_range FROM heros;原创 2020-09-23 19:32:30 · 522 阅读 · 0 评论 -
DDL 的基础语法
常用的功能是:增、删、改,分别对应的命令是CREATE、DROP 和 ALTER。需要注意的是,在执行 DDL的时候,不需要 COMMIT,就可以完成执行任务。 对数据库进行定义 CREATE DATABASE nba; // 创建一个名为 nba 的数据库 DROP DATABASE nba; // 删除一个名为 nba 的数据库 对数据表进行定义 CREATE TABLE table_name 创建表结构 CREATE TABLE player ( player_id int(11) NOT NU原创 2020-09-23 19:31:41 · 307 阅读 · 0 评论 -
SQL分类
DDL,Data Definition Language,也就是数据定义语言,它用来定义我们的数据库对象,包括数据库、数据表和列。通过使用 DDL,我们可以创建,删除和修改数 据库和表结构。 DML, Data Manipulation Language,数据操作语言,我们用它操作和数据库相关的记录,比如增加、删除、修改数据表中的记录。 DCL, Data Control Language,数据控制语言,我们用它来定义访问权限和安全级别。 DQL, Data Query Language,数据查询语言,我.原创 2020-09-23 19:30:50 · 106 阅读 · 0 评论 -
SQL是如何执行的
Oracle 中的 SQL 是如何执行的 语法检查:检查 SQL 拼写是否正确,如果不正确, Oracle 会报语法错误。 语义检查:检查 SQL 中的访问对象是否存在。比如我们 在写 SELECT 语句的时候,列名写错了,系统就会提示错 误。语法检查和语义检查的作用是保证 SQL 语句没有错 误。 权限检查:看用户是否具备访问该数据的权限。 共享池检查:共享池(Shared Pool)是一块内存池,最 主要的作用是缓存 SQL 语句和该语句的执行计划。 Oracle 通过检查共享池是否存在 SQL 语原创 2020-09-23 19:30:04 · 2050 阅读 · 0 评论