last

show_spce存储过程的使用

﹥>﹥吖頭↗ 提交于 2019-11-26 20:36:38
一、实验说明: 操作系统:rhel 5.4 x32 数据库:oracle 11g r2 说明:在看谭大师《让Oralce跑得更快2》中的数据压缩篇时提到一个来自asktom.oracle.com网站的show_space()存储过程,在这里做一下对于该过程的使用演示。 二、实验操作: ----创建存储过程----------- 1 SQL > show_space.sql 2 3 Procedure created. 4 ----查看一下该存储过程涉及到的参数---------------------------- 5 SQL > desc show_space 6 PROCEDURE show_space 7 Argument Name Type In/ Out Default ? 8 -- ------------- ------------------ ------ -------- 9 P_SEGNAME VARCHAR2 IN 10 P_OWNER VARCHAR2 IN DEFAULT 11 P_TYPE VARCHAR2 IN DEFAULT 12 P_PARTITION VARCHAR2 IN DEFAULT 13 ----打开输出功能------------------ 14 SQL > set serveroutput on ; 15 ----使用show

浅谈树链剖分

邮差的信 提交于 2019-11-26 20:34:05
目录 什么是树链剖分? 类似 为什么要学树链剖分? 少废话,正题如下: 轻儿子&重儿子 我们需要维护什么? CODE: 人工栈CODE: 操作: 建树 CODE: 人工栈CODE: 查询 LCA查询 CODE: 区间极值或和查询 CODE: 基本知识讲完了,重在理解,你明白了吗? 【NOIP2013提高组day1】货车运输 Description Input Output Sample Input Sample Output Data Constraint 好,讲正解: CODE: 再推荐几道例题: 树的统计CODE: Solution CODE: @ 什么是树链剖分? 指一种对树进行划分的算法,它先通过轻重边剖分将树分为多条链,保证每个点属于且只属于一条链,然后再通过数据结构(树状数组、SBT、SPLAY、线段树等)来维护每一条链,主要用来维护树上每条链的极值或和之类的。 类似 首先把树上倍增摆在前面,如果不会树上倍增就不必来看树链剖分。 为什么要学树链剖分? 有的人说:“我会树上倍增,我怕谁?”,没错,你怕的就是树链剖分。 意思是:树上倍增能做的,树链剖分都能做;树链剖分能做的,树上倍增不一定能做。树上倍增虽然能求树上区间极值或和,但一旦有树上边或点权值修改的操作,您就死翘翘了~这时我们需要一个新的算法来补上我们的树上倍增操作的漏洞,没错,就是 树链剖分 !没错

[动态规划] leetcode 357 Count Numbers with Unique Digits

早过忘川 提交于 2019-11-26 20:24:49
problem: https://leetcode.com/problems/count-numbers-with-unique-digits/ class Solution { public: int countNumbersWithUniqueDigits(int n) { if(n == 0) return 1; int llast = 1; int last = 10; for(int i = 2;i <= n;i++) { int result = last + (last - llast) * (10 - (i - 1)); llast = last; last = result; } return last; } }; 来源: https://www.cnblogs.com/fish1996/p/11332637.html

C++标准库(九)之iterator

我的未来我决定 提交于 2019-11-26 20:17:50
C++标准库(九)之iterator iterator iterator模式:提供一种方法,使之能依次访问容器内的各个元素,而又不暴露该聚合物内部的表述方式。 STL的中心思想是将算法与数据结构分离,彼此独立设计,最后在用iterator将他们结合在一起,获得最大的适配性。 vector 设计理念 vector是动态空间,随着元素的加入,内部机制会自动扩充空间以容纳新元素。vector的实现技术核心在于: 对容器大小的控制以及重新配置时数据的移动效率 。 空间配置策略 :在原容器无可用空间时,将容器大小扩展为原先的两倍,然后将原先的数据copy,在copy的数据后面构造新元素。 数据移动效率 :根据是否为POD类型判断移动数据的成本,并想进一切方法减少数据移动的次数,源码中有详解。 迭代器定义 vector在进行萃取的时候,会使用萃取提供的特化版本: template<typename T> struct iterator_traits<T*> {} template<typename T,class Alloc=alloc> class vector { public: typedef T value_type; typedef value_type* pointer; typedef value_type* iterator; typedef value_type&

SGI STL内存管理

随声附和 提交于 2019-11-26 20:17:18
SGI STL内存管理 在SGI STL版本的内存管理中,使用这样一种方式来分配内存: 内存分配+对象初始化 。首先是分配内存,其次是根据对象的类型(是否为POD【Plain of Data】)来使用最有效的方式来初始化对象。回收内存也是用同样的方式: 析构对象+回收内存 ,根据对象是否为POD类型,确定最有效的析构方式。 SGI STL使用双层级配置器,第一级配置器直接使用 malloc()和free() ,第二级根据如下策略:当配置区块>128 Bytes时,视之为“足够大”,调用一级配置器,否则视之为过小,调用二级配置器。 一级配置器:__malloc_alloc_template template <int __inst> //非型别参数,没排上用处 class __malloc_alloc_template { private: static void* _S_oom_malloc(size_t); //用来处理内存不足的情况,out of memory static void* _S_oom_realloc(void*, size_t); static void (* __malloc_alloc_oom_handler)(); public: static void* allocate(size_t __n) //分配内存 { void* __result =

C++标准库(四)之String

我的未来我决定 提交于 2019-11-26 20:16:06
C++标准库(四)之String String 常见操作 bool empty() const size_type size() const size_type length() const size_type max_size() const size_type capacity() const void resever() void resever(size_type numbers) void shrink_to_fit() 产生C-String和字符数组 const char* c_str() const const char* data() const 添加字符 String& operator+=(const String& str) String& append(const String& str) String& operator+=(const char* cstr) String& append(const char* cstr) String& append(size_type num,char c) String& operator+=(char c) String& push_back(char c) 安插字符 String& insert(size_type idx,const String& str) String& insert(size_type

Java——LinkedList底层源码分析

三世轮回 提交于 2019-11-26 19:54:19
1.简介 LinkedList 是用链表结构存储数据的,很 适合数据的动态插入和删除 ,随机 访问和遍历速度比较慢 。另外,他还提供了 List 接口中没有定义的方法,专门用于操作表头和表尾元素,可以 当作堆栈、队列和双向队列使用 。 LinkedList 是实现了 List 接口 和 Deque 接口 的 双端链表 。 LinkedList底层的链表结构使它 支持高效的插入和删除操作 ,另外它实现了Deque接口,使得LinkedList类也具有队列的特性。 LinkedList 不是线程安全的 ,如果想使LinkedList变成线程安全的,可以调用静态类 Collections类 中的 synchronizedList 方法: List list=Collections.synchronizedList(new LinkedList(...)); 2.内部结构 3.构造方法 1)空构造方法 public LinkedList() { } 2)已有的集合创建链表构造方法 public LinkedList(Collection<? extends E> c) { this(); addAll(c); } 4.添加元素方法 1)add(E e) 方法:将元素添加到链表尾部 public boolean add(E e) { linkLast(e);//这里就只调用了这一个方法

KMP:n+1次探

拜拜、爱过 提交于 2019-11-26 19:46:55
如你所见,这是我不知道第几次学KMP了。 推荐B站上电子科大的字符串专题。 引入:KMP是干什么的 KMP解决的是模式串P在源串T中出现次数的问题,比如模式串P为aba,源串为abababa,我们可以求出计算重叠的出现次数3,还可以求出不计算重叠的出现次数2。 next数组 [x] 最好不要用next命名next数组,某些OJ会报错 前(后)缀和真前(后)缀:字符串s前i个(i<=strlen(s))字符为其前缀,i!=strlen(s)时为真前缀,后缀和真后缀同理。 next[i]表示模式串P以i为尾的这个前缀,最长的公共真前缀和真后缀长度,例如abcabc,next[1:6]={0,0,0,1,2,3} 求next数组 假设我们已经知道next[1:i-1],求next[i]。 设last=next[i-1],则p[1:last]等于p[i-last:i-1],即模式串长度为i-1的前缀,前last个与后last个相同,且last最大,那么我们只需要检测p[i]与p[last+1]是否相等,相等就是last+1,否则要在这last个(p[i-last:i-1],即p[1:last])里面找,更新last=next[last],继续检测p[i]与p[last+1]是否相等,如此循环直到last=0,p[i]=p[1],即为1,否则为0。 那么只需要设置next[1]=0

nginx常用伪静态设置

随声附和 提交于 2019-11-26 19:35:58
nginx里使用伪静态是直接在nginx.conf 中写规则的,并不需要像apache要开启写模块(mod_rewrite)才能进行伪静态。 nginx只需要打开nginx.conf配置文件,在server里面写需要的规则即可。 复制代码 代码如下: server { listen 80; server_name bbs.jb51.net; index index.html index.htm index.php; root /home/www/bbs; error_page 404 /404.htm; #配置404错误页面 location ~ .*.(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf; } #下面就是伪静态了 location /{ rewrite ^(.*)/equip(d+).html$ $1/index.php?m=content&c=index&a=lists&catid=$2 last; } access_log access_log off; } 然后重启nginx服务器伪静态就生效了,这种维护起来很是不方便我们可以把它写在外部文件如bbs_nginx

mysql基本介绍和优化技巧

时光毁灭记忆、已成空白 提交于 2019-11-26 18:28:36
一. mysql框架和基本介绍 1. 框架图 更详细: 2. 存储引擎 MYISAM与INNODB对比: MYISAM:mysql5.1及以前版本的默认存储引擎。支持全文检索,压缩,表级锁等,但不支持事务,行级锁,崩溃后的数据恢复等 INNODB:mysql5.5及之后的默认存储引擎。支持事务,行级锁,数据恢复,mysql5.6 中的innodb(1.2)支持全文检索。 如何选择:innodb对于绝大多数的用户都是最佳的选择,除非某些存储引擎能满足特殊需求且使用者很了解这种存储引擎。 二. 查询性能的方法 1. 配置文件 my.cnf (linux), 读配置文件的一般顺序: 1) /etc/my.cnf 2) DATADIR/my.cnf 3) ~/.my.cnf 可以通过命令获知: mysqld --verbose --help | grep -A 1 'Default options’ 结果: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 2. 环境变量 从my,cnf读取环境变量值, 查看变量值方法: show variables like “”, (不清楚变量名时,用模糊匹配%) 例如 设置(全局)变量方法: set (global) 变量名=变量值 例如设置 开启慢查询日志 set