![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Database
关系型数据库
bkhech
持续学习
展开
-
MySQL 使用存储实现快速创建多个分表
设计数据库时,有时候需要分表,当分表数量比较大,单个创建比较浪费时间,于是写了一个存储过程模板,可以快速创建多张分表,比如:创建存储器create procedure app_game_interface_event_statistics_uid_mod_16(in val_s int, in val_e int)begindeclare i int;set i=val_s;while i<val_e+1 doset @sql_create_table = concat('CRE原创 2021-06-22 15:50:05 · 1029 阅读 · 0 评论 -
对使用MySQL业务场景与其知识点对应关系理解
对MySQL掌握的月深入,你能做的事情就越多。完成业务功能,需要懂基本的SQL语句;做性能优化,要懂索引,懂执行计划,懂引擎;做分库分表,要懂主从,懂读写分离;做安全,要懂权限,懂备份,懂日志;做云数据库,要懂源码,懂瓶颈。如果提到SQL优化,张口就是索引,分库分表,那这就有点突兀了。你首先要知道哪些地方需要做优化?其实,优化就是找出运行最慢的地方,然后解决,找出运行最慢的SQL,然后优化。如何找出慢SQL?可以通过慢查询日志查看。...原创 2020-10-27 14:20:27 · 96 阅读 · 0 评论 -
Mysql优化之 Using filesort
使用explain分析sql的执行计划时发现Extra列显示 Using filesort,虽然使用了索引,但是性能效果不好,仍然比较耗时。分析其原因是因为 order by 语句造成的。可采用一下几种手段尝试优化:在where某个条件和order by field字段建立复合索引;表连接,如下示例:select b.* from (select id from test order by create_time DESC limit 0,10) a left join test b on a.id原创 2020-09-18 20:33:39 · 337 阅读 · 0 评论 -
Oracle用户权限表的管理方法
参考:http://www.chinaacc.com/new/403_406_/2009_10_22_su64245324922019002700.shtml转载 2017-06-06 11:06:59 · 416 阅读 · 0 评论 -
oracle行级锁和表级锁
http://blog.sina.com.cn/s/blog_9d12d07f0102xbln.html转载 2017-05-18 11:37:23 · 2873 阅读 · 0 评论 -
oralce查看某张表占用空间大小
1、查询某用户下表使用大小的前10名select * from (select a.segment_name,(byets/1024*1024) sizez ,a.segment_type from dba_segments a where owner='risk' order by bytes desc ) where rownum 2、当使用drop table tablena原创 2017-05-23 18:22:32 · 2715 阅读 · 0 评论 -
web引用连接oracle 12C 数据库
现在做的项目连接10g和11g的数据库都没问题,最近有一个客户使用的是12C版本的数据库,项目死活连不上,报什么监听错误。可是使用plsql连接没问题。经查找资料,解决之。需要两步:1.官网下载12c的jar包,替换掉;2.修改连接jdbc连接的格式为:jdbc:oracle:thin:@//IP:port/sn。以前写的格式为:jdbc:oracle:thin:@IP:port:sn。原创 2016-11-29 09:49:08 · 1815 阅读 · 0 评论 -
oracle中 特殊字符 转义 (&)
在dml中,若操作的字符中有 & 特殊字符,则会被oracle视作是输入变量的标志,此时需要用转义字符来进行转义。1、”&“ 转义这个是Oracle里面用来识别自定义变量的设置,现在我们在SQL*PLUS下将其关闭:SQL Set define OFF;然后再次执行导入脚本,OK!问题搞定。注意:如果是在TOAD中执行,建议在每一个要导入的脚本第一行加上前面那句关闭de原创 2016-09-06 14:03:13 · 75387 阅读 · 0 评论 -
触发器使用相关问题
在表上建立了一个触发器,如果想让触发器失效,不必直接删除,可以暂时将其禁用,想用的时候再启用即可。--禁用alter table PRESSDEFINE disable all triggers;--启用alter table PRESSDEFINE enable all triggers;原创 2016-08-15 15:24:20 · 364 阅读 · 0 评论 -
case when end用法
oracle中case when end 用法,直接上图,yim原创 2014-08-29 16:09:11 · 3664 阅读 · 0 评论 -
Oracle数据库忘记某用户密码,解决方案
运行cmd 按如下输入命令:1、sqlplus / as sysdba; ---------以sys登陆2、alter user 用户名 account unlock; ----------解除锁定用户(用户名:填写忘记密码的用户)3、alter user 用户名 identified 密码;---------修改密码(有时密码过于简单,可能会报错,换个复杂点的密码试试!)原创 2015-01-14 16:30:52 · 398 阅读 · 0 评论 -
详解Oracle DELETE和TRUNCATE 的区别
语法delete from aa truncate table aa 区别 1.delete from后面可以写条件,truncate不可以。2.delete from记录是一条条删的,所删除的每行记录都会进日志,而truncate一次性删掉整个页,因此日至里面只记录页释放,简言之,delete from更新日志,truncate基本不,所用的事务日志空间较少。转载 2014-08-28 23:09:48 · 306 阅读 · 0 评论 -
ORACLE in与exists语句的区别
业务问题大概可以这样描述,一个父表,一个子表,查询的结果是找到子表中没有使用父表id的记录,这种情况估计很多系统都会牵涉得到。让我们来举一个例子: 表一: 父表 parentIN 与NOT IN 的性能区别" alt="ORACLE IN 与NOT IN 的性能区别" src="http://www.examda.com/oracle/Files/2008-6/26/103626转载 2014-08-28 23:02:15 · 303 阅读 · 0 评论 -
minus在oracle中的用法和oracle中||的意思
minus运算的主要功能是: 在进行两个表格或者两个查询结果的时候, 返回在第一个表格/查询结果中与第二个表格/查询结果不相同的记录比如A表中数据如下:ID NAME ADDRESS TEL1 ABC AAAA 1234562 ABD BBBB 1234553 ABE转载 2014-08-28 23:09:02 · 3428 阅读 · 0 评论 -
oracle中的exists 和not exists 用法详解
有两个简单例子,以说明 “exists”和“in”的效率问题1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; T1数据量小而T2数据量非常大时,T12) select * from T1 where T1.a in (select T2.a from T2) ; T转载 2014-08-20 13:09:16 · 322 阅读 · 0 评论 -
SQL Union和SQL Union All用法
SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT转载 2014-08-20 12:48:33 · 303 阅读 · 0 评论 -
彻底搞懂Oracle的左外连接和右外连接(以数据说话)
Employees表: Department表: select e.last_name,e.department_id,d.department_namefrom employees eleft outer join departments don (e.department_id = d.department_id); s转载 2014-08-20 16:37:26 · 445 阅读 · 0 评论