数据库开发技术复习「部分」

oracle的无阻塞读。修改才会加锁,行级锁。读写器不会阻塞写入器。提高了并发效率,缺点,无阻塞设计需要保证一次最多只有一个用户读取一行。

where xxx【 FOR UPDATE】关键字

NULL处理的差异,基本差别(并发控制机制)

SQL优化方向:索引,执行计划,SQL语句优化,物理分库分表,数据库表结构,整体结构设计。

1.索引

结构-能做什么-不能做什么-try

1.关系&非关系型数据库

2.B-树,B+树

B-树

分层

B+树

分层,数据全在叶结点,并且叶节点顺序排列。叶节点内包含rowid。

应用场景

  • 全键值 where x=123
  • 键值范围查询 where 45<x<125
  • 键前缀查找 where x LIKE ‘J%’

3.索引一定能提高查询效率吗?不一定!

索引是一种以原子粒度访问数据库的手段而不是为了检索大量数据

索引的代价

  • 磁盘空间的开销(存储索引)
  • 处理的开销(大幅提高更新开销,索引也要修改)
  • 数据库系统处理的开销(更新需要更多的工作)

索引发挥作用的条件

索引适用性依据为检索比例

  • 有时候通过索引访问基本表的很少一部分

  • 如果要处理表中的多行,可以使用索引而不用表。Index(x,y)//

    【复合索引,本质上索引是按照排名第一的字段进行的索引

索引是查询工作的第一步,读取基本表的数据才是查询的结束。同样的索引,但不同的物理结构,会引起查询的千差万别-磁盘访问的速率,物理I/O,记录存储。事务处理型数据库中 “太多索引≈设计不够稳定”。

索引的问题

  1. 函数和类型转换:含有日期函数/隐式类型转换的检索条件无法使用索引。where substr(name, 3, 1) = ‘R’ ❌
  2. 索引与外键:建立索引必须有理由。无论是对外键,或是其他字段都是如此
  3. 同一个字段,多个索引。如果系统为外键自动增加索引,常常会导致同一字段属于多个索引的情况
  4. 系统生成键:系统生产序列号,远好于寻找当前最大值并加1 /用一个专用表保存”下一个值“且加锁更新。但如果插入并发性过高,在主键索引的创建操作上会发生十分严重的资源竞争

索引不起作用的原因

总结:

  1. 我们在使用B+树索引,而且谓词中没有使用索引的最前列。T(x,y)中过滤条件为y相关。

  2. 使用SELECT COUNT(*) FROM T,而且T上有索引,但是优化器仍然全表扫描

  3. 对于一个有索引的列作出函数查询

  4. 隐形函数查询

  5. SLOW此时如果用了索引,实际反而会更慢

  6. WRONG没有正确的统计信息造成CBO无法做出正确的选

    总结:归根到底,不使用索引的通常愿意就是“不能使用索引,使用索引会返回不正确的结果”,或者“不该使用索引,如果使用了索引就会变得更慢”

4.B+与Hash索引的差异与查询适用条件

哈希索引:MySQL

Hash(x),仅支持等值查询(碰撞率的问题)

位图索引:Oracle7.3

每行数据用1,0来表示其身份

Value/Row 1 2 3 4
A 1 1 0 1
B 0 0 1 0
0 0 0 0
D 0 0 0 0

适用场景:

  • 相异基数低()
  • 大量临时查询的聚合

位图联结索引:Oracle

允许使用另外某个表的列对一个给定表建立索引。实际上,这就是允许对一个索引结构(而不是表本身)中的数据进行逆规范化。

MySQL没有位图索引,1)优化替代索引组合;2)低选择性添加特殊索引.order by xx limit 1000,10 限制用户查看的页数

函数索引:function-based index

对函数F(x)的值构建索引,通过对索引读取x所指向的记录行。

引用场景:

  • 不区分大小写upper(name) = ‘KING’
  • T、F的巨大差异下的索引
  • 有选择的唯一性 Create unique index ax_name on project(xxx内容)

2.SQL***

1.SQL执行顺序

查询优化器

SQL基于需求和关系理论,查询优化器基于实现和关系理论。

优化器借助关系理论提供的语义无误的原始查询进行有效的等价变换。优化器根据数据库的实际实现情况,对理论上等价的不同优化方案做出权衡, 产生可能的最优查询执行方案

  1. RBO:基于规则的优化器,操作符权重,权重和最少的
  2. CBO基于成本,如索引、物理存储、CPU、内存等因素

SQL执行顺序

  1. SQL语句
  2. 语义语法检查
  3. 解析【消耗内存,等价变化,生成解析树,评估】
  4. 执行计划【可执行的二进制代码】
  5. 执行引擎
  6. 存储引擎Oracle, MylSAM, InnoDB, MEMORY
  7. 数据库

注意,优化器的局限性,优化的起点为SQL语句,影响最终选择。有些东西需要程序员手工进行。不能优化的内容包括1.实际环境信息-过滤条件;2.中间结果集(临时存储,开销大);3.SQL本身有太多操作操作。

优化器只能对关系领域进行优化!

优化器的有效范围

  • 优化器需要借助数据库中找到的信息
  • 能够进行数学意义上的等价变换
  • 优化器考虑整体响应时间
  • 优化器改善的是独立的查询

2.优化的核心逻辑

优化考虑因素

  1. 获得结果集所需访问的数据总量
  2. 定义结果集所需查询条件//多个where子句,过滤条件的效率又高有低,受到其他因素的影响大
  3. 结果集的大小//从技术角度来看,查询结果集的大小并不重要,重要的是用户的感觉,该努力使响应时间与返回的记录数成比例//百度谷歌,分页,只显示数字//对输入进行结果集预测
  4. 获得结果集所涉及的表的数量//表太多,join操作开销极大,太多的表连接->设计问题//复杂查询和复杂视图,基本的原则是当是视图返回的数据远多于上级查询所需要的时候,就放弃使用该视图
  5. 同时修改这些数据用户的多少//数据块访问争用,阻塞,闩定,保证读取一致性//整体吞吐量>个体响应时间

查询的过滤条件

高效过滤条件是查询的主要驱动力

//1.通过表的连接来筛选数据
//注意可以在join内部on可以指定条件更好一些
select distinct c.custname from customer cjoin orders oon o.cusid=c.cusidand o.ordered >= 日期换算join orderdetail odon od.ordid = o.ordidjoin articles a....where c.city="Nanjing"....
//2.古老的自然连接方式,大量的笛卡尔积运算
select distinct xxfrom table1, table2, table3where a and b and c and d
***避免在最高层distinct应该是一条基本规则***
***难以判断结果的错误,发现不准确的连接难!***
*使用exists 关联子查询/ in 非关联子查询替代* 
*distinct隐藏了一个排序,现排序再删除重复行*
----------------
select c.custnamefrom customers cwhere c.city = ‘Nanjing'and exists (select  null //这里选择什么不重要from orders o,orderdetail od,articles awhere a.artname = ‘BMW'and a.artid = od.artidand od.ordid = o.ordidand o.custid = c.custid   //与外层相关and o.ordered >= somefunc )//客户在Nanjing市,而且满足Exists存在性测试即在最近六个月买了BMW
------
select custnamefrom customerswhere city = ‘Nanjing'and custid in (select o.custid  //注意custidfrom orders o,orderdetail od,articles awhere a.artname = ‘BMW'and a.artid = od.artidand od.ordid = o.ordidand o.ordered >= somefunc)
//关联子查询中,orders表中custid字段要有索引,而对非关联子查询则不需要,因为要用到的索引是customers的主键索引							
//内层查询不再依赖外层查询,只需要执行一次
---------
注意⚠️
一共有4张表的连接,可以(1+(1+(1+1)))嵌套两层的exist/in	
--------
上述的非关联子查询都是放置于where之下的
对于很多数据库来说,非关联子查询还可以写成from子句的内嵌视图
select custnamefrom customerswhere city = ‘Nanjing'and custid in(select o.custidfrom orders o,(select distinct od.ordidfrom orderdetail od,articles awhere a.artname = ‘BMW'and a.artid = od.artid) xwhere o.ordered >= somefuncand x.ordid = o.ordid)

外层条件好的话,使用exist(过滤掉了大量的外层,验证存在性)

外层条件不好的话,使用in(还有大量的一一与in的表进行比较)

什么时候使用嵌套子查询????

  1. 顶层出现distinct
  2. 出现多个过滤条件·

找到分辨率最强的条件

  • 解决方案不止一种,查询和数据隐含的假设密切相关
  • 预先考虑优化器的工作,以确定它能找到所需要的数据
  • 平衡二叉树的优化/哈夫曼树的优化

3.用户感受-SQL语句的优化技巧

  • 努力使响应时间与返回的记录数成比例
  • 分页
  • 返回有限条
  • 增加条件的效率
  • 预测结果集,空结果集的预处理

where子句的比较运算符

a=1000 == a=500+500

a-500=500??全表变量+取值计算

注意当左侧含运算符时,包含了对列的运算,不能使用常规索引,但是可以使用函数索引,通用性差,并且表达式匹配。表达式的左边最好干干净净!

表达式左侧有对日期的表达式/函数,无法使用索引,所以效率极差!

尽量直接比较,忘掉any, all between, not。

大数据量查询

越快剔除不需要的数据,查询的后续阶段必须处理的数据量就越少,查询效率就越高。多层嵌套的exist/in。

union仅仅对非共用的表进行union,将其降级为内嵌视图!!!

滥用子查询

分辨过滤条件,避免顶层出现distinct(隐藏了一个排序,现排序再删除重复行)

不包含聚合函数,不出现多种过滤条件的选择,可以不需要子查询/尽量把选择权交给查询优化器!!!

查询不存在的内容

查找表中间不匹配的行?使用外连接

不要使用NOT IN!!!非关联嵌套子查询,糟糕的性能,建立临时表,临时表用于查找外层查询,索引也不会被使用,会进行全表扫描。

from salary left outer join on (x xx)

将聚合子查询转换为JOIN或内嵌视图

和聚合有关的条件都应该放在having中间,group by之后才会得到分组,进行过滤。所有与聚合无关的条件都要放在where中间。聚合之后,情况复杂了。

关联嵌套子查询??多次重复执行??改为非关联子查询??

非关联子查询??变为内嵌式图!!!

尽量用连接而不用子查询!!!!

进一步改进?打破范式,冗余地存一个新的状态!!访问++/触发器使得开销++/

比较容易的改进?查询添加新的条件!!时间限定!!

4.日期与字符串

**字符串

• 1.1 遍历字符串

没有循环功能,数据透视表T1,T10,T100对应ID来获取每行一个子符

select substr(e.ename,iter.pos,1) as C
from (select ename from emp where ename = 'KING') e,(select id as pos from t10) iter
where iter.pos <= length(e.ename) 
//
KING 1   //然后进行substring函数
KING 2
KING 3
KING 4
////
select substr(e.ename, iter.pos,length(e.ename))a
from (select ename ...) e,(select id as pos from t10) iter
where iter.pos <= length(e.ename)

• 1.2 嵌入引号

常量中添加引号

“’” ==“ 双中夹单为双

‘"’ == ‘

• 1.3 统计字符出现的次数

字符串总长度length()/len(),减去去掉该字符后字符串的长度replace(str, words, words_new)

有时需要除以查找字符的长度

• 1.4 删除不想要的字符

replace函数

Oracle特有的translate函数replace(translate(ename,‘AEIOU’,‘aaaaa’) , ‘a’, ‘’)

Mysql?replace层层嵌套

• 1.5 分离数字和字符数据

translate+replace,把非数字替换成z/0,再删除

MySQL程序内进行分离

• 1.6 判断含有字母和数字的字符串

MySQL regexp’[0-9a-zA-Z]'正则表达式

Oracle 先找出所有的字母数字字符转换成同一个字符,然后长度不改变比较a*length和转换后的式子。

• 1.7 提取姓名每个单词的首字母

复杂复杂

MySQL很多函数concat, concat_ws, substr, substring_index. 先删除句号,在找到空格位置,将字符串拆分

**数值处理

减少程序和数据库引擎的交互

• 2.1 计算平均值

AVG() 聚合函数 =》 如何处理空值???

遇到空值怎么办?null, 存在空值,不计入|||作为0计算。

select avg(sal) from t2 //删去这一行
-----
select avg(coalesce(sal,0)) 
//返回第一个非空值,空值的话置为0
from  t2
group by deptno

• 2.2 计算最大值最小值

max(sal) , min(sal) from xx group by xx1

• 2.3 求和

sum(sal) 不需要管空值

• 2.4 计算行数

count(*) from t1 group by xx_no

count(comn) from amp 会删除空值

• 2.5 累计求和Running Total

Oracle:: sum(sal) over (order by sal,empn排他列) 窗口函数

MySQL:累加窗口函数,标量子查询

• 2.6 计算众数

Max() count(*) group by

• 2.7 计算中位数

Oracle median(sal)

MySQL 返回笛卡尔集

• 2.8 计算百分比

select (sum() / sum(sal)) * 100 as pct

• 2.9 计算平均值时去掉最大值和最小值

where sal not in((select min())(select max()))

Oracle 窗口函数 建立视图sal maxsal minsal 进行一次where过滤

• 2.10 修改累计值

Oracle有窗口函数:;sum(case表达式决定类型)over()

**日期处理

• 3.1 年月日加减法

oracle

  • add_mouth(data, -5)
  • add_mouth(data, -5*12)

MySQL

+_interval 5 day

-_interval_5_mouth

date_add(this data, interval 5 day)

• 3.2 计算两个日期之间的天数

Oracle 日期直接相减

MySQL datediff(晚的,早的)

• 3.3 计算两个日期之间的工作日天数

数据透视条! T500,给每一天当作一行返回

• 3.4 计算当前记录和下一条记录之间的日期差

• 3.5 判断闰年

• 3.6 计算一年有多少天

• 3.7 找到当前月份的第一个和最后一个星期一

• 3.8 依据特定时间单位检索数据

• 3.9 识别重叠的日期区间

连接

外键组建相等进行等值连接

叠加行集Union & Union all

列的数据类型必须相同,字段数目匹配,Union all会保留重复项,union会删去重复记录。但是union是在union all上使用distinct,排序操作删除重复项。排序是非关系型操作。

select xx,xx
from emp
where xx
union all //
select '------',null
from t1
union all //
select xx,xx
from emp2
where xx

差(查找只存在于一张表的数据)

select xx,xx
from emp
minis //Oracle 过滤重复值 :: except //DB2 
select xx,xx
from emp2
-----
MYSQL::
select [distinct] deptno  //需要考虑排除重复行
from dept 
where deptno not in (select deptno from emp)
空值怎么办?
where deptno in(10,50,null) //不会出现问题
where deptno not in(10,50,null) //出现空值会出现问题
//In /not in 都是or运算 
// false or null => null
//避免在存在空值的情况下使用in/not in,使用关联嵌套子查询exist

从一个表检索另一个表不相关的行(外连接)

select xx
from dept d left outer join emp e

确定两个表是否有相同的数据?

(T1 - T2) union all (T2 - T1) 逻辑上,如果两张表相同的话,应该为null

create view V 
as 
select* from emp where deptno != 10
union all
select * from emp where ename = 'WARD'

(全外连接)从多个表中返回缺失值

FULL OUT JOIN

连接和聚合函数的使用

连接如何不干扰到聚合操作?

3.事务(ACID)

  1. 事务是一个原子性质的操作单元,事务里面的对数据库的操作要么都执行,要么都不执行
  2. 在事务开始之前和完成之后,数据都必须保持一致状态,必须保证数据库的完整性。也就是说,数据必须符合数据库的规则。
  3. 数据库允许多个并发事务同事对数据进行操作,隔离性保证各个事务相互独立,事务处理时的中间状态对其它事务是不可见的,以此防止出现数据不一致状态。可通过事务隔离级别设置:包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)
  4. 一个事务处理结束后,其对数据库的修改就是永久性的,即使系统故障也不会丢失。

  1. 脏读:一个事务中访问到了另外一个事务未提交的数据。并发事务AB同时开始,A包含一个读操作,B一个写操作,AB同时提交结束。A读了B的写操作发生后的数据。
  2. 幻读:一个事务读取2次,得到的记录条数不一致。并发事务AB同时开始,A读数据,B该数据,B提交更新,A第二次读数据。A读了B的写操作发生后的数据。[锁住满足条件及相近的记录,关键在于新增和删除]
  3. 不可重复读:一个事务读取同一条记录2次,得到的结果不一致:单行记录。[只需要锁住满足条件的记录,关键在于修改]

  1. 未提交读:排他写锁。会读取到未提交的修改了的数据。更新不能丢失,写会阻塞写,写不会阻塞读。
  2. 已提交读RC:瞬间共享读锁,排他写锁。只能读取到已经提交的数据。读取数据的事务允许其他事务继续访问该行数据,但是未提交的写事务将会禁止其他事务访问该行。
  3. 可重复读取RR:“共享读锁”和“排他写锁”。在对于数据库中的某个数据,一个事务范围内多次查询却返回了不同的数据值,这是由于在查询间隔,被另一个事务修改并提交了。读取数据的事务将会禁止写事务(但允许读事务),写事务则禁止任何其他事务。
  4. 可串行化:提供严格的事务隔离。它要求事务序列化执行,事务只能一个接着一个地执行,不能并发执行。读用读锁,写用写锁,读锁和写锁互斥

隔离级别越高,越能保证数据的完整性和一致性,但是对并发性能的影响也越大。除了MySQL默认采用RR隔离级别之外,其它几大数据库都是采用RC隔离级别。

隔离界别 脏读 不可重复读 幻读
未提交读RU 可能 可能 可能
已提交读RC 可能 可能
RR可重复读 可能
Serializable可串行化

RR能否防止幻读?可以

MySQL的RR隔离级别也解决了幻读的问题,理论上不行。RR 支持 gap lock(next-key lock),而RC则没有gap lock。RC 隔离级别,通过 where 条件过滤之后,不符合条件的记录上的行锁,会释放掉(虽然这里破坏了“两阶段加锁原则”);但是RR隔离级别,即使不符合where条件的记录,也不会是否行锁和gap lock;所以从锁方面来看,RC的并发应该要好于RR

事务处理如何影响开发?

隔离级别越高,越能保证数据的完整性和一致性,但是对并发性能的影响也越大。除了MySQL默认采用RR隔离级别之外,其它几大数据库都是采用RC隔离级别。

MVCC多版本并发控制


悲观锁;对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处 于锁定状态。往往依靠数据库提供的锁机制。/读取数据时给加锁,其它事务无法修改这些数据。修改删除数据时也要加锁,其它事务无法读取这些数据。

乐观锁:乐观锁,大多是基于数据版本( Version )记录机制实现。

4.分区–

数据表的物理实现

读写如何和谐???不太能

  1. 关系型数据库?读写冲突!冲突的目标
  2. 并发用户数很大的系统 紧凑的方式存储VS数据分散存储
  3. 没有并发的修改密集型 数据查询要快VS数据更新也要快
  4. DBMS所处理的基本单元(page,block)基本不可分割。

分页

页模式,优化查询效率,目录页只想行,但是会有行迁移,多次IO操作。大量的行迁移使得读取和更新都变慢。page/block的链表,索引的目录页

索引当成数据仓库IOT

顺序文件组织----IOT索引组织表,聚簇索引

索引中添加额外字段,提高某个频繁运行的查询的速度。

索引组织表,把数据存储在索引中。

索引组织表(顺序表,灾难:宽表的随机插入,长字符串)vs只有索引的表

  1. 开销不一定谁大。
  2. 记录是排序的,对索引组织表而言效率惊人
  3. 顺序文件的组织,禁止更新

分区

一个大型的表物理存储为多个小型的表,在DBMS引擎下逻辑表现为一张表。

数据的自动分组,屏蔽了底层物理实现,提高了并发性和并行性,增强了架构的可伸缩性

  1. 循环分区:为了高效管理。不受数据影响的内部机制,无逻辑。分区为磁盘的存储区域。并发随机的数据查询++
  2. 数据驱动分区:依赖于数据逻辑。根据一个或多个字段的值来决定在哪个分区。- 哈希分区(算术运算随机分区负载均衡使用的) - 范围分区 - 列表分区///滑动窗口最近一年?1月表,2月表

分区是可以嵌套的

分区是双刃剑!

所有的插入都会对一个分区进行并发插入,分散的数据理论上避免访问过于集中的问题。但是针对某一个分区插入的并发很不利,争夺同一个数据块,内存开销极大。

对分区的查询,当数据按分区键均匀分布,收益最大

最佳的数据分区

要整体考虑

任何存储方式都会带来复杂性,选错存储方式都会带来大幅度的性能降低!关系模型-有点为灵活性,物理组织可能会丧失灵活性。

  1. 测试、测试、测试
  2. 设计都是最重要的
  3. 任何设计都有时效性!!!

5.树状结构–

数据库模式设计-层次结构

即树状结构,如何把树状结构存储到数据库中?

-历史:层次结构、网状、关系型

-关系理论出现,数据库变成了科学,层次性数据广泛存在

-层次结构复杂度在于访问树的方式

树状结构的保存只要一张表- 深度、所有权、多重父节点


1/邻接模型 :id + pid(parent id)即可,递归的

2/物化路径模型:每个节点和树中的位置作为数据,1.2 代表节点, 1.2.3的父节点为1.2,比起邻接模型含有兄弟节点的排序。(家谱)

3/嵌套集合模型:节点是左右的值,他包含了所有介于左右值之间的节点

都是满足三范式的!

自顶向上的查询

自底向上的查询

聚合来自树的值

6.并发和大数据量

负载增加未必是造成性能的原因,只不过是使得性能问题暴露出来了而已。

设计-反范式模式

1NF一个字段只当作一个值来使用(身份证号码

2NF一条记录可以被唯一组建区分

3NF字段和字段间不存在函数依赖(不能互相推倒,一个字段的全部,不能拆分字段,否则不满足第一范式。)

打破三范式,提高数据库性能,降低表连接的数量,大幅度提升查询效率,降低查询优化器的优化难度。

打破范式是引入可控制的冗余!

规范弱化,降低灵活性;需要更新时手动添加额外的操作,多处更新冗余;加速查询效率,让更新变慢。

逆规范化的方法:

  1. 一对一关系。部分参与的1…1对0…1可以进行合并,全参与++
  2. 1:*关系。在多的关系中加一列,触发器自动更新。
  3. 1:*关系。复制外键列来减少连接
  4. 复制多对多关系中的列
  5. 引入重复组。电话/地址多个,一组地址-一组电话号码/重复组打包放在主表中,重复组的绝对数量是一致的,该数量是静态的,且不是很大。
  6. 创建额外表extra tables,不能做实时计算,但是太好用了。后续维护太难了,而且更新开销大。体虚表?
  7. 分区

并发与大数据量处理的基本逻辑

-并发读取数据
  1. where中使用有索引的列和无索引的列性能差异很大 5000次/分钟。有索引-快速查询。
  2. 排队,数据库引擎能否快速服务,首先是数据库引擎性能(阀值问题);数据服务的请求复杂度(用户)。快查询会被慢查询拖累。–整体吞吐量
-并发修改数据

加锁

锁的粒度。行级锁(细粒度),不同进程可以修改同一张表的不同行;表级锁,一次只能修改一张表。选择更细粒度的锁,支持更多并发数量,处理器更多工作,提高资源利用率。

系统资源要为业务过程服务!

  1. *不要随便使用表级锁
  2. *尽量缩短加锁时间,释放锁的资源。快速会被慢速拖累。delete没有where子句,用truncate(?)———必须频繁提交,可以承担额外的失败,但是每个逻辑单元完成后提交会增加大量开销。
  3. 索引维护!
  4. 语句性能高,程序性能不一定高
    • 避免SQL语句上的循环(SQL本身就是一个循环!)
    • 减少IO交互次数,一个SQL完成所有工作
    • 跨机器交互次数越少越好
    • 把所有不重要不必要的SQL语句放在逻辑工作单元之外
  5. 可伸缩性。行级锁能产生更佳的吞吐量。行级锁大都性能曲线很快达到极限。

资源竞争

插入与竞争。需要串形化处理。竞争主要发生在表和索引。数据库层面的竞,争会引起进程的竞争。当然可以降低锁的粒度,避免对锁的等待,快速提交事务,跟新可能会慢一点。再业务满足情况下,取最小的事务。

  1. DBA解决方案。无关业务逻辑,针对数据容器的改变。解决插入问题-事务空间配置,可用列表的配置
  2. 架构解决问题/设计问题,在insert上效果不好
    • 分区
    • 逆序索引
    • IOT,基本表和索引融合,降低竞争数量
  3. 开发解决方案
    1. 限制最高session数
    2. 不使用系统生成键,连续值只在范围查询中得到使用,ID本身和业务无关时,就不使用连续值,使用随机数来进行。

主键索引是案例的瓶颈!使用生成数字。限制并发连接的session使得系统成为最佳的性能。

-大数据量

操作对数据量增加的敏感程度?

  1. 无影响

    1. 主键检索等单一查询,B树索引
  2. 线性增长

    1. 返回记录数量和查询毫无关系

    2. SQL操作的数据和最后返回的结果无关(聚合函数)

      增加缺省条件-时间范围,设定上限,这依赖于业务需求。

  3. 非线性

    1. 排序性能影响非线性
    2. 间歇性性能降低,看内存大小
-大数据量的一些基本逻辑

综合的考量

需求之外加上限制条件,作为一个普遍的规则

1.数据量增加对性能的预估

  1. 隐藏在查询背后对数据量的高敏感性
  2. 如max()对数据量的高敏感度,而直接引起子查询性能缓慢降低,必须使用非关联子查询(in只执行一次),关联嵌套子查询(exist每次执行,指数增加!)。

2.排序的影响

最大问题是排序的数据是否都在内存中,都在内存中的话还好,如果在硬盘中那么很耗费资源。JOIN,order by的顺序需要考虑

  1. 字节数量而不是记录数量
  2. 排序的总数据量(非关系操作不会被优化,会切一刀,在非关系优化前后分开进行)
  3. Join要被延后到最后阶段,对尽量少的数据进行排序//降低中间结果集的大小!
  4. 消除关联子查询,外层条件够好才用这个关联子查询,每次被调用,分散调度会导致性能障碍。
  5. 减少嵌套的子查询
  6. 同时看看能不能将where中的变为from中的视图

3.通过分区提高性能(数据库的设计具有时效性)

  1. 小数据量有用的索引可能会越来越低效。条件变差了搜索比例增高。
  2. 全表遍历可能会不那么慢,需要检索大量数据时,效率会更高。当符合条件的记录达到一定阀值。
  3. 分区中大扫荡数据提高效率。
  4. 分区键需要均衡性
  5. 范围查询,单边范围查询,对索引分区不会带来很大好处。多个分区/使用索引太慢了。单边变成区间
  6. insert插入需要维护索引。update需要维护更新上的索引,但一定含有where语句,面临加锁死锁的可能性,需要存储元数据来回滚。delete包含insert和update所有缺点。把DELETE变成UPDATE!!
    1. 使用标志位
    2. 构建删除的时间戳GOOD
  7. 无可奈何?读写分离阶段!数据仓库阶段

高性能数据库开发原则-为性能而设计

关系理论

缩小中间结果集,未必包含全部的字段。

有限数据的查询中,记录的存放顺序对查询有影响。

规范化

真正的风险是数据的不一致性,犯错的概率,手工保持一致性。迭代更新重构的困难。

保护工作!

有值、空值、无值

  1. 空值意味着关系模型存在严重的问题
  2. 空值对程序逻辑是很危险的

少用Boolean类型

提高信息密度

但是要保证原子性1NF

不能为了数据而数据

子类型SubType

互斥模型-唯一身份

多继承模型- 多个子表

约束应明确说明

数据中的隐含约束是一种不良设计,可能会导致运行错误。

健壮性、可读性、可扩展性

数据的语义属于DBMS!!!

过于灵活的危险

成本急剧上升,性能令人失望

如何处理历史数据

某一时刻的商品价格,商品ID,生效时间,价格

获取当前价格很笨拙!

保存价格有效的终止时间?比较当前和终止时间的关系。不符合业务要求。双十一—价格变化的生效时间,自动改变,价格表中保存未来的价格,并不是由终止时间产生的。

保存两者?终止时间和生效时间必须连续!

当前价格表,历史价格表?维护太难了,未来的价格,定时触发器,开始写入当前价格。双十一-批处理过程。

处理流程

批处理

实时交易-同步处理//必须及早发现问题

数据模型必须考虑数据处理流程

数据集中化

分布式数据系统,复杂度++,健壮性–,管理投入++,

离数据越近,访问速度越快

系统复杂性

数据库的错误很多- 硬件故障(磁盘故障)、错误操作…

数据恢复往往是RD和DBA争论焦点

DBA,即便确保数据库本身工作正常,依然无法了解数据是否正确

RD,在数据库恢复后进行所有的功能性的检查


错误的设计是导致灾难性后果的源泉

• 解决设计问题会浪费惊人的精力和智慧

• 性能问题非常普遍

• 打着“改善性能”的旗号进行非规范化处理,常常使性能问题变得更糟

• 成果的数据建模和数据操作应严格遵循基本的设计原则。


数据库本身就是一个大尺度问题。

圣诞节零点?时区??UTC

性能,监控,审计,错误处理–大尺度,大复杂度

解决方案没有对错,只有结果好坏

Q:SQL语句很慢,怎么办?

1.分析问题
如何慢,怎么慢的。
偶尔?一直?过去快现在慢?
2.结合几种优化对应的具体场景
索引:有没有使用?数据量增大了,索引可能起副作用。
SQL语句优化:过滤条件?连接?要不要读写分离?
并发访问?
3.整体评估

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 谈下对微*1软“服务*1协议”的一点看法

    如果微*1*软的服务*1协议确实是真的,这基本确定了脱*1钩是必然的了,重建软硬件生态就是我们必须干,而且要加快干的事情了。这当然不是个好消息,但如果他们真的这么做,其实也没什么大不了的,既然都撕破脸了,一是可以放肆破1*解老*1外的东西先顶几年,另外就要老老实实加大…...

    2024/5/4 18:47:45
  2. OpenCV-Python 将摄像头捕获的视频灰度处理并保存(代码+详解)

    import numpy as np import cv2 as cv cap = cv.VideoCapture(0)#通过本地摄像头捕获视频 fourcc = cv.VideoWriter_fourcc(*DIVX)#指定fourcc编码 out = cv.VideoWriter(C:\\Users\\DELL4\\Desktop\\output.mp4,fourcc,20.0,(640,480),0)用于灰度图 这里,out是一个VideoWri…...

    2024/4/29 7:17:15
  3. 安卓GreenDao基本使用

    配置参考github官方https://github.com/greenrobot/greenDAO不过发现配置似乎需要翻墙首先在build.gradlerepositories {google()jcenter()mavenCentral() // add repository}classpath org.greenrobot:greendao-gradle-plugin:3.3.0在build.gradle(app中)上部apply plugin: or…...

    2024/5/1 2:12:55
  4. VMware下的Linux的安装配置详解

    点击创建新的虚拟机自定义创建直接下一步选择一个CentOS镜像文件,可以去官网下载,然后下一步为虚拟机取一个名字,以及虚拟机要安装的位置根据自己电脑的配置分配处理器核数,电脑好一点可以给8个内核,差一点可以给2~4个内核这里根据自己电脑内存大小给定虚拟机内存,我电脑…...

    2024/5/4 14:55:00
  5. Koa2基础入门教程

    一、koa安装与hello world示例: koa需要node v7.6.0以上(因为需要ES6) npm install koa --save 习惯性加上save,不加也可以。 koa的hello world示例 const Koa = require(koa); const app = new Koa(); app.use(async(ctx)=>{ctx.body = hello koa!; }) app.listen(3000)…...

    2024/4/29 2:51:27
  6. VMware 桥接,NAT模式,仅主机模式理解

    VMware网络设置里面有三种模式1,桥接模式:实际是使用电脑的真实网卡和VMware通讯,需要网卡和虚拟机在同一个网段,并且手动分配一个IP地址桥接模式配置方法:VMware选择桥接模式电脑上 -> cmd 输入 ipconfig 查看 电脑使用的网段,因为我是网线直连路由器,所以查看以太网…...

    2024/5/1 10:55:45
  7. PYTHON从娃娃学起教程 教案 第三课键盘的使用

    第一应该是先认识键盘,正好我有两个键盘样板,一个是日语键盘,一个是英语键盘下载图片解释然后下面是快捷键说明,然后用python开发的一个小程序,让孩子熟悉键盘,所以我下载了贪吃蛇,还有打飞机的小游戏,一键运行,前十课不能让孩子觉得编程的枯燥,兴趣教学下面是电脑使…...

    2024/5/4 18:55:09
  8. gradle 各种版本下载(自取自用)

    CSDN全都要积分下载 自取自用(ps:如果没有你想要的版本,可以留言,我帮你下载) 官方地址 官方下载gradel地址 不翻墙不能下载司机 下载地址 gradle-2.0-all下载 gradle-2.1-all下载 gradle-2.2-all下载 gradle-2.3-all下载 gradle-2.4-all下载 gradle-2.5-all下载 gradle-2…...

    2024/4/29 7:17:03
  9. U校园自动刷课浏览器-源代码分析

    每个平台的网课都有相应的测试,然鹅这些测试对于那些坚持快乐学习至上原则的同学就不是那么友好了,本着让这部分同学也能享受考高分的乐趣,找到了一些让网课学习更快乐的小帮手。正式教程:内置刷课插件,添加下列代码,实现自动刷课链接:https://wws.lanzous.com/b01hl6qzc…...

    2024/5/1 11:58:04
  10. 深度学习入门之PyTorch学习笔记:卷积神经网络

    深度学习入门之PyTorch学习笔记绪论1 深度学习介绍2 深度学习框架3 多层全连接网络4 卷积神经网络4.1 主要任务及起源4.2 卷积神经网络的原理和结构4.2.1 卷积层1.概述2.局部连接3.空间排列4.零填充的使用5.步长限制6.参数共享7.总结4.2.2 池化层4.2.3 全连接层4.2.4 卷积神经网…...

    2024/4/29 7:16:47
  11. JVM详解(一)之初识JVM

    前言: 一些有一定工作经验的开发人员,觉得SSM、微服务等上层技术才是重点,而忽略了基础的技术,这其实是不可取的,作为一个想向上发 展的开发人员,打好基础是最关键的,不然基础的知识永远是你的致命缺点! 关于JVM详解的博文将以连载方式持续发布到个人分类专栏的JVM详解…...

    2024/4/29 7:17:27
  12. 博文目录索引

    博文目录索引 整理下博客分类,只按时间分有点乱。一. 基础理论:机器学习基础,深度学习基础 二. 流行技术:生成对抗,强化学习,图神经网络 三. 应用领域:推荐系统,计算机视觉,自然语言处理,多媒体和多模态,金融量化 四. 其他:备忘和github一. 基础理论 机器学习基础文…...

    2024/4/29 7:16:48
  13. AOM(Accessibility Object Model 无障碍对象模型)草案解读

    最近在看 AOM(Accessibility Object Model) 相关的草案,草案推出一两年了,发现还没有相关的中文文档或者博客谈到这个,看来国内做的人还是太少了,一般也只有大厂会去跟进这一块。下面我就介绍 AOM 相关的特性,内容主要翻译自草案,也会加上自己的一些理解,同时复现草案…...

    2024/4/29 7:16:44
  14. 英读廊——一个人的旅行:原汁原味希腊克里特游记

    * 用英语自身来理解和学习英语是最好的方式,《英读廊》是《满庭说英语》中的拓展阅读系列,这一系列的文章力求帮助大家在英语阅读能力上有所提升,并树立英语思维; * 推荐的阅读的方法是:先原文,适当看解析阅读,还有疑惑再看双语对照。 * 解析中英语单词的音标使用Dictco…...

    2024/4/29 7:16:55
  15. 10 监听器 watch

    被监听的变量或对象发生改变就执行相应的方法,不建议过多使用,影响性能。 例如: 监听变量:监听数组:反序:...

    2024/4/29 7:16:49
  16. IDM下载---一键安装版

    IDM下载器 1.平时我们在下载一些外网上面的文件或者网盘上的文件的时候,那个速度那叫一个惨不忍睹.下面我将分享一个我个人正在使用的IDM下载器,下载链接我会放在本文下面,希望对大家有帮助。 这里我就不多解释IDM的原理-----有想法的朋友可以去度娘 2. 使用步骤 1.下载好文…...

    2024/4/29 7:16:24
  17. 【学习笔记】:SpringBoot集成Swagger2

    一、认识Swagger Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。是当前最好用的Restful API文档生成的开源项目。官网:https://swagger.io/ 直接运行,在线测试API 支持多种语言 (如:Java,PHP等) Restful Api 文档在线自动生成…...

    2024/4/29 7:16:31
  18. 笔记本内存条翻车日记(内存插槽突然不识别)及解决方案

    经过:上几周不知何时,我的丐版联想小新潮笔记本内存突然不识别(板载4GB正常工作另外单独一个内存插槽最高支持8GB,此插槽不识别后就只有板载4GB内存了) 17年时基本买的笔记本出场4GB基本上是标配,现在笔记本出厂没有8GB都不好意思卖,这个硬件问题折腾了将近一个月,有些…...

    2024/5/3 3:51:03
  19. 电子客票打印换开

    电子客票打印换开 作者:代富强 撰写日期:2020.8.8 电子客票打印换开:电子客票打印换开功能需要同时满足发票状态为已开发票和票联状态为可供使用的订单才可以使用,否则提示未满足条件不可打印换开。在订单显示页面的视图里根据之前设下的onclick写下打印换开的方法:func…...

    2024/5/4 1:05:03
  20. C#开发要注意的基础基础知识点

    开发要注意的基础基础知识点 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~开发工具与关键技术:Visual Studio 2015 与 C#作者:黄富滔撰写时间:2020年08月06日~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~…...

    2024/4/29 7:16:29

最新文章

  1. Typescript基础语法(四)

    模块化 模块化是指将复杂的程序拆解为多个独⽴的⽂件单元&#xff0c;每个⽂件被称为⼀个模块。在 TypeScript 中&#xff0c;默认情况下&#xff0c;每个模块都拥有⾃⼰的作⽤域&#xff0c;这意味着在⼀个模块中声明的任何内容&#xff08;如变量、函数、类等&#xff09;在该…...

    2024/5/4 19:46:43
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. day7:哈希表学习

    ● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和 总结 对于查&#xff0c;某个元素是否在集合中出现过&#xff0c;哈希法是非常高效的方法 但是对于需要去重的情况下&#xff0c;哈希法要注意太多细节&#xff0c;很难完美写完&#xff0c;因此采用双指针…...

    2024/5/4 11:58:19
  4. 【干货】零售商的商品规划策略

    商品规划&#xff0c;无疑是零售业的生命之源&#xff0c;是推动业务腾飞的强大引擎。一个精心策划的商品规划策略&#xff0c;不仅能帮助零售商在激烈的市场竞争中稳固立足&#xff0c;更能精准捕捉客户需求&#xff0c;实现利润最大化。以下&#xff0c;我们将深入探讨零售商…...

    2024/5/1 13:01:46
  5. 腾讯云轻量服务器流量不够用了会怎么样?

    腾讯云轻量应用服务器是限制月流量的&#xff0c;如果当月流量不够用了&#xff0c;流量超额了怎么办&#xff1f;流量超额后&#xff0c;需要另外支付流量费&#xff0c;如果你的腾讯云账号余额&#xff0c;就会自动扣除对应的流量费&#xff0c;如果余额不足&#xff0c;轻量…...

    2024/5/1 13:01:36
  6. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/4 12:05:22
  7. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/4 11:23:32
  8. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/4 14:46:16
  9. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/3 16:00:51
  10. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/4 12:10:13
  11. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/3 21:22:01
  12. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/3 23:17:01
  13. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/4 14:46:12
  14. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/4 14:46:11
  15. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/4 14:46:11
  16. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/4 2:14:16
  17. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/3 16:23:03
  18. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/4 12:39:12
  19. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/4 13:16:06
  20. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/4 16:48:41
  21. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/4 14:46:05
  22. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/4 2:00:16
  23. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/3 22:03:11
  24. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/4 9:07:39
  25. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/4 14:46:02
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57