
数据库
顽石11
hainabaichuanyourongnaida,biliqianrenwuyuzegang
展开
-
Mysql-----case when then else end
mysql --- case when then else end原创 2016-03-31 14:49:12 · 349 阅读 · 0 评论 -
乐观锁与悲观锁
在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种思想。其实不仅仅是关系型数据库系统中有乐观锁和悲观锁的概念,像memcache、hibernat转载 2017-11-16 11:11:02 · 138 阅读 · 0 评论 -
MySQL性能分析及explain的使用
MySQL性能分析及explain用法的知识是本文我们主要要介绍的内容,接下来就让我们通过一些实际的例子来介绍这一过程,希望能够对您有所帮助。1.使用explain语句去查看分析结果如explain select * from test1 where id=1;会出现:id selecttype table type possible_keys key key_len ref r转载 2017-11-20 11:19:39 · 182 阅读 · 0 评论 -
为什么索引会增加速度
首先明白为什么索引会增加速度,DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加查询的速度。那么在任何时候都应该加索引么?这里有几个反例:1、如果每次都需要取到所有表记录,无论如何都必须进行全表扫描了,那么是否加索引也没有意义了。2转载 2017-11-20 10:58:42 · 1706 阅读 · 0 评论 -
MySQL索引类型总结和使用技巧以及注意事项
在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:复制代码 代码如下:CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL );我们随机向里面插入了10000条记录,其中有一条:5555, admin。在查找username="admin"的记录转载 2017-11-19 22:30:42 · 186 阅读 · 0 评论 -
MySQL优化原理
说起MySQL的查询优化,相信大家积累一堆技巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。 MySQL逻辑架构如果能在头脑中构建一幅M转载 2017-11-05 20:02:41 · 139 阅读 · 0 评论 -
mysql 触发器after与before的区别
接上篇日志建的商品表g和订单表o和触发器假设:假设商品表有商品1,数量是10;我们往订单表插入一条记录:insert into o(gid,much) values(1,20);会发现商品1的数量变为-10了。这就是问题的所在,因为我们之前创建的触发器是after,也就是说触发的语句是在插入订单记录之后才执行的,这样我们就无法判断新插入订单的购买数量。 先讲一下after和转载 2017-11-05 19:15:32 · 3418 阅读 · 0 评论 -
mysql 触发器
触发器(trigger):监视某种情况,并触发某种操作。触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete)3.触发时间(after/before) 4.触发事件(insert/update/delete)语法:create trigger triggerNameafter/before insert/update/dele转载 2017-11-05 19:14:19 · 137 阅读 · 0 评论 -
JDBC执行存储过程的四种情况(Mysql)
jdbc调用存储过程:经常使用的4种: 1. 返回结果集的proc 2. 输出参数 3.使用带有返回状态的存储过程 4.受影响行数 以下为mysql的存储过程 sqlServer同理案例1: 返回结果集的p转载 2017-11-09 20:13:26 · 2704 阅读 · 0 评论 -
JDBC执行存储过程的四种情况
本文主要是总结 如何实现 JDBC调用Oracle的存储过程,从以下情况分别介绍:[1]、只有输入IN参数,没有输出OUT参数[2]、既有输入IN参数,也有输出OUT参数,输出是简单值(非列表)[3]、既有输入IN参数,也有输出OUT参数,输出是列表[4]、输入输出参数是同一个(IN OUT)【准备工作】 创建一个测试表TMP_MICHAEL ,并插入数据,SQL如下:转载 2017-11-09 20:05:33 · 389 阅读 · 0 评论 -
如何查看MySQL的当前存储引擎?
如何查看MySQL的当前存储引擎?一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看: 看你的mysql现在已提供什么存储引擎:mysql> show engines; 看你的mysql当前默认的存储引擎:mysql> show variables like '%storage_engine%'; 你要看某个表用了什么引擎(在显示结果里参数eng转载 2017-08-11 10:59:21 · 585 阅读 · 0 评论 -
触发器详解
把触发器说透 本篇主要内容如下:8.1 触发器类型8.1.1 DML触发器8.1.2 替代触发器8.1.3 系统触发器8.2 创建触发器8.2.1 触发器触发次序8.2.2 创建DML触发器8.2.3 创建替代(INSTEAD OF)触发器8.2.3 创建系统事件触发器8.2.4 系统触发器事件属性8.2.5 使用触发器谓词8.2.6 重新转载 2017-06-15 17:05:19 · 2639 阅读 · 0 评论 -
MySQL sql优化建议
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select转载 2017-07-13 11:01:46 · 781 阅读 · 0 评论 -
Mysql 索引解析
为什么需要索引(Why is it needed)?当数据保存在磁盘类存储介质上时,它是作为数据块存放。这些数据块是被当作一个整体来访问的,这样可以保证操作的原子性。硬盘数据块存储结构类似于链表,都包含数据部分,以及一个指向下一个节点(或数据块)的指针,不需要连续存储。记录集只能在某个关键字段上进行排序,所以如果需要在一个无序字段上进行搜索,就要执行一个线性搜索(Linear Sear转载 2017-07-13 10:51:05 · 168 阅读 · 0 评论 -
oracle---trunc()函数
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2013-01-06 今天的日期为2013-01-062.select trunc(sysdate, 'mm') from dual --2013-01-01 返回当月第一天.3.select转载 2017-07-12 13:10:06 · 309 阅读 · 0 评论 -
"ORA-00942: 表或视图不存在 "的原因和解决方法
采用Oracle数据库,使用Powerdesigner设计,生成Sql文件导入后查询出现“ORA-00942: 表或视图不存在 ”,很是郁闷,这个问题以前出现过,当初解决了,但因好久没有使用,这次竟然忘了,害得我浪费了好些时间,为了避免再次忘记,将它记下来,同时和大家一起分享。1、问题产生的原因 Oracle 是大小写敏感的,我们创自己写Sql脚本创建表的时候Oracle会自动将我们的表转载 2017-05-16 17:50:25 · 3183 阅读 · 0 评论 -
Mysql join语法解析与性能分析
.Join语法概述join 用于多表中字段之间的联系,语法如下:... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditionatable1:左表;table2:右表。JOIN 按照功能大致分为如下三类:INNER JOIN(内连接,或等值连接):取得两个表中存在连接匹配关系的记录。LEFT JOIN(转载 2016-03-31 15:21:10 · 288 阅读 · 0 评论 -
mysql中的左连接、内连接、右连接和全连接理解
内连接(INNER JOIN)(典型的连接运算,使用像 = 或 <> 之类的比较运算符)。包括相等连接和自然连接。 内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行 左连接(LEFT JOIN 或 LEFT OUTER JOIN)是右左边表中的数据为基准,若左表有数据右表没有数据,否则显示左表中的数据右表中的数据显示为空 右连接(RIGHT转载 2017-11-16 11:58:36 · 564 阅读 · 1 评论