sqlserver数据库 每隔10秒执行一次lock acquired和 lock released一次,怎么修改这个设置?

  • 命令目录: /usr/bin mysqladmin 是一个执行管理操作的客户端程序,可以用来检查服务器的配置、状态、修改密码、创建删除数据库等mysqldump 是用于迁移和备份数据库的工具…

MySQL 分层、存储引擎

  • 连接层 :提供与客户端连接的服务

  • InnoDB:事务优先(适合并发操作,行锁)MyISAM:性能优先(表锁)

# 查询当前使用的引擎 # 查询当前使用的字符集

SQL 解析过程、索引、B 树

  • SQL 语句欠佳(连接查询)

  • 服务器参数设置不佳(缓冲、线程数) SQL 编写过程和解析过程的差异:

  • 索引建立在经常使用的字段上

  • 左外连接,给左表加索引;右外连接,给右表加索引

    三表或更多表使用相同的原则

/* 2 个索引都失效,复合索引左边失效,整个索引失效 */ /* 1 个索引都失效,独立索引,第 1 个索引失效,不影响后面的索引 */ /* 使用了不等于,索引失效 */
  • 复合索引,不要跨列或无序使用
  • 不要在索引上进行任何操作(计算、函数、类型转换、如 ... where f # 配置文件中添加以下内容

  • 3、通过存储函数插入随机整数:

    4、通过存储过程插入海量数据:

    调用存储函数,插入数据:

    /* 验证插入数据量 *//* profiling 影响性能,在部署实施前,应关闭此项 */ /* 精确查询更多详情,Query_Id 参考上个语句的查询结果 *//* 开启全局日志,记录开启之后的所有 SQL 语句 */ /* 将日志记入表中 */ /* 设置后执行一条查询 */ /* 将日志记入文件 */ /* 通过默认保存地址查看日志文件 */

    锁机制:解决因资源共享造成的并发问题
    操作类型 进行分类:

    • 读锁(共享锁) :对同一条数据,多个读操作可以同时进行,互不干扰
    • 写锁(互斥锁) :如果当前写操作没有完毕,则无法进行其他读操作 按 操作范围 进行分类:

    • 表锁 : 对整张表加锁开销小,加锁快无死锁容易发生锁冲突(同时操作一条数据的概率增高)并发度低MyISAM 采用表锁

    • 行锁 : 对一条数据加锁开销大,加锁慢容易出现死锁锁的范围较小,不易发生锁冲突高并发概率低InnoDB 采用行锁行锁

    /* 加锁后,当前会话不能对其他表进行读操作 */ /* 加锁后,当前会话不能对其他表进行写操作 */

    会话 :每一个访问数据库的 dos 命令行、数据库客户端工具,都是一个会话

    当前会话,对 A 表加了 read 锁:

    • 该会话对 A 表:可以读,不能写
    • 该会话对其他表:不能读,不能写 此时其他会话:

    • 对 A 表:可以读,需要等待锁释放后可以写

    • 对其他表:可以读,可以写

    /* 不能对其他表进行任何操作 */
    • 当前会话对 A 表:可以进行任何操作
    • 当前会话对其他表:不能进行任何操作

    • 其他会话:对 A 表进行操作的前提是等待写锁释放

    • MyISAM 在执行查询语句前,会自动给涉及的所有表加读锁

    • MyISAM 在执行更新操作 (DML) 前,会自动给涉及的表加写锁 对 MyISAM 表进行读操作:

    • 其他进程对同一表的操作 读:不阻塞写:阻塞

    • 只有读锁释放后,才会执行其他进程的写操作 对 MyISAM 表进行写操作:

    • 其他进程对同一表操作 读:阻塞写:阻塞

    • 只有写锁释放后,才会执行其他进程的写操作

    /* 无法操作,需要等待锁释放 */ /* 其他会话操作第 8 行,没有锁,可以操作 */

    某个会话对一行数据进行 DML 操时,其他会话需要等待锁释放

    如果没有索引,行锁会转为表锁

    /* name 列索引有效,不同的行操作互不影响 */ /* name 列是 varchar 类型,而 3 是整数类型,类型转换时索引失效,行锁转为表锁 */ /* name 列索引失效,表被锁定,无法操作 name='4' 行,需要等待锁释放 */

    间隙锁是行锁的一种特殊情况,MySQL 会自动给间隙加锁

    /* 其他会话操作 id=7 需要等待锁释放 */
    • 如果加锁时有 where 语句,where 范围内的数据都会被加锁
    当前正在等待锁的进程数量
    从系统启动到现在,等待总时长
    从系统启动到现在,平均等待时长
    从系统启动到现在,最大等待时长
    从系统启动到现在,等待次数
    /* 其他会话操作该行要等待锁释放 */

    关闭事务自动提交的三种方式

    ,一个游戏开发收藏夹~

    如果图片长时间未显示,请使用Chrome内核浏览器。

}

Oracle 是一个庞大的系统,里面的知识点很多,在学习的时候,看到一些知识点,就贴了下来,尽不知中贴了这么多,就先做个小结吧。 里面有的知识点已经单独拿出来写成单篇的blog()了。有的还没有进行整理。 好记性不如烂笔头,不过我用的不是笔。 ^_^  ...  

这里面大部分内容都是我泡CSDN 论坛的时候整理的,现在要忙其他的事,就很少去了。 泡论坛的那段时间,是我进步最快的时间,所以如果想在Oracle 上有所发展的朋友,建议也可以去论坛泡泡。 看到自己会的知识点,就帮别人解答,不会的就自己研究学习,一段时间下来,会有很大的进步。而且还能认识很多朋友。 实在是一举两得的事。 

2.  RMAN 中的list 命令显示的信息是从控制文件里获取的,如果使用rm等命令手工的删除备份文件,这个动作不会同步到控制文件,造成不一致,这种不一致会导致使用rman时报错。可以使用delete 删除这些过期的记录,在用就不会报错了。 

2. 系统中没有多余的空缓冲区来存放数据 

5. 每隔3秒钟ckpt会去更新控制文件和数据文件,记录checkpoint执行的情况。

2. 当通过设置初始化参数:

3. 当数据库管理员手动请求时:

8.  建表前判断表是否存在的存储过程。

表示数据块什么时候移入和移出freelist。

pctused:如果数据块的使用率小于pctused的值,则该数据块重新加入到fresslist中。

pctfree:如果数据块的使用率高于pctfree的值,则该数据块从freelist中移出。

TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分
下面是该函数的使用情况:
注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。

31. local是局部有序,整体无序,global是有序的,所以local可能会比global慢,得看你的sql语句怎么写的,需求是什么样的
global索引->自己想怎么玩就怎么玩
local索引->表怎么玩它就怎么玩

如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。union(或称为联合)的作用是将多个结果合并在一起显示出来。
union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。
  Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
  Union All:对两个结果集进行并集操作,包括重复行,不进行排序;

45. truncate 只是删除了表中的记录,并不会改变表的结构及依赖约束,所以truncate表后表的索引依然存在,但是表和索引所占用的空间会恢复到初始大小

47.  数据库在主备库切换之后要手动的用SQL来检查检查有没有死锁,如果有,kill 就可以了..

48. EOF是标记控制字符开始,到结束,随便什么字符都可以用的

并行度为4的程序,最多可以分配或创建9个并行执行服务器来满足这个事务操作,所以并行操作速度有很大提高,但对CPU占用比较多

专用模式意味着每个客户端的连接后,Oracle都会分配一个新的process和自进行交互。而共享模式是,通过一个调度程序,来分配process,有可能是以前客户端已经处理过的空闲的process,由于process的模式不是专用的,所以相对来说,节省资源。
那么我们如何来查看我们的oracle是哪种模式呢?
用sqlplus连接成功以后,thread count如果会增加,即为专用模式,来一个增加一个,走一个减一个。反之,共享模式。
我们也可以查看数据库的parameter,如果shared_servers的数目大于0的话,即是。

61. Oracle 10.2.0.1 中有613张X$ 表,9i 有394张。 X$表包含了特定实例的各方面的信息,如当前的配置信息,连接到实例的会话,以及丰富而有价值的性能信息。 X$表并不是驻留在数据库文件的永久表或临时表。X$表仅仅驻留在内存中,当实例启动时,他们就创建了,在内存中进行实时的维护。 它们中的大多数至少需要装载或已经打开的数据库。X$表为SYS用户所拥有,并且是只读的。 不能进行DML(更新,插入,删除)。

72. 当查询的记录的结果集大于总记录的20%时,一定要使用全表扫描

73. 当AWR显示,占用资源较多的SQL是类似时,这是对这些SQL就应该使用绑定变量来减少硬解析. 

online时可以在该索引的基表上执行DML,在在对基表操作的同时可以REBUILD INDEX,但是不能执行DDL语句,所以他们的锁机制是不样的。
创建索引时通常会对该表设置一个表级共享(DML)锁,如果设置ONLINE ,
如果是非ONLINE方式,通常会对该表设置一个表级共享(DML)锁,那么就对DML语句冲突,如果设置ONLINE ,(会使用临时日志IOT表来记录中间改变的数据),但要使用两倍于传统方法的空间.表会变成行级共享锁,在创建索引或者ALTER完成后,对临时日志表与基表进行MERGE

注意并行处理,DDL,位图索引不能使用ONLINE。

78. colb,字符串大对象,存的是长字符串数据
  blob,二进制大对象,存的是二进制型,比如图像、音频数据

84. 在排除索引限制的条件下,如果索引还是没有被引用,可以检查下参数。

 87. 在10g中,有一个特性,就是bigfile tablespace,这种类型的表空间只能有一个数据文件,且该数据文件允许有4G的数据快,即如果db_block_size=8k的话,最大容量为4G*8K=32T,当然,这个还要看操作系统的限制了。

Catexp.sql :  这个脚本是用于生成exp命令执行时所需要的一些表和视图,在执行exp命令出现找不到什么什么表,什么什么视图时使用。
 Catmeta.sql :这个脚本是在升级后执行exp命令出现错误时运行,说是因为升级不成功,运行这个脚本可以重新创建系统表。

我上传了一个包,可以获得汉字的拼音或者首字母,oracle汉字转拼音 

如果你在服务器端用sqlplus 进行连接,监听没有启动也是可以连上的,但是从远程来访问数据库,或者用PL/SQL dev 或者TOAD等进行连接,就必须启动监听。

109. oracle 会将SQL语句中 in 后面的东西生成一张内存中的临时表。然后进行查询。所以在相关字段上见索引比较重要。

两个连用告诉Oracle恢复的时候恢复到最后一个可用的redo log file,不管控制文件中的scn是多少

}

让每个人平等地提升自我

.引入视图的主要目的是什么

答:数据库的基本表是按照数据库设计人员的观点设计的,并不一定符合用户的需求。

可以根据用户需求重新定义表的数据结构,这种数据结构就是视图。

视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制,

数据是建立在对表的查询基础上的。

.当删除视图时所对应的数据表会删除吗

答:使用视图有很多优点,主要表现在:

为用户集中数据,简化用户的数据查询和处理。

保证数据的逻辑独立性。

重新定制数据,使得数据便于共享;合并分割数据,有利于数据输出到应用程

.可更新视图必须满足哪些条件?

语句)都只能引用一个基本表

视图中被修改的列必须直接引用表列中的基础数据。不能通过任何其他方式对

这些列进行派生,如通过聚合函数、计算(如表达式计算)

.创建索引的必要性和作用是什么

答:数据库的索引就类似于书籍的目录,如果想快速查找而不是逐页查找指定的内容,

可以通过目录中章节的页号找到其对应的内容。

索引通过记录表中的关键值指

这样数据库引擎就不用扫描整个表而定位到相关的记录。

搜索表中的所有记录,以获取匹配结果。

)大大加快数据的检索速度,这是创建索引的最主要的原因。

)创建唯一性索引,保证表中每一行数据的唯一性。

)加速表和表之间的连接。

)在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排

)查询优化器可以提高系统的性能,但它是依靠索引起作用的。

.聚集索引和非聚集索引有何异同

}

我要回帖

更多关于 acquired怎么读 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信