mysql处理递归的一个例子
只是一个例子,简单记录一下!delimiter //drop procedure if exists getChildModel //CREATE PROCEDURE getChildModel(IN startId INT,in inAdmin int)BEGINDECLARE _id varchar(4) DEFAULT '0';DECLARE _path VARCHAR(2000);DECLARE _Last bigint DEFAULT 0;CREATE TEMPORARY TABLE IF NOT EXISTS temp_table ( id varchar(4) NOT NULL , path varchar(2000) default NULL, PRIMARY KEY (id)) ENGINE=InnoDB TYPE = HEAP;CREATE TABLE IF NOT EXISTS pp_table ( topid int not null, id varchar(4) NOT NULL , path varchar(2000
show engine innodb status 详解
这个比较详细!不错[@more@] 很多人让我来阐述一下 SHOW INNODB STATUS 的输出信息, 了解 SHOW INNODB STATUS 都输出了些什么信息,并且我们能从这些信息中获取什么资讯,得以提高 MySQL 性能。 首先,让我们来了解一下 SHOW INNODB STATUS 输出的基础,它打印了很多关于 InnoDB 内部性能相关的计数器、统计、事务处理信息等。在 MySQL 5 中,InnoDB 的性能统计结果也在 SHOW STATUS 结果中显示了。大部分和 SHOW INNODB STATUS 的其他信息相同,在旧版本中还没有这个功能。 SHOW INNODB STATUS 中的很多统计值都是
linux手动回收cache
參考此文: 回收 Linux cached memory echo 1 > /proc/sys/vm/drop_caches or sysctl -w vm.drop_caches=1 之前 AceLan 長輩指點的方式 # And free up caches # echo Freeing the page cache: echo 1 > /proc/sys/vm/drop_caches echo Free dentries and inodes: echo 2 > /proc/sys/vm/drop_caches echo Free the page cache, dentries and the inodes: echo 3 > /proc/sys/vm/drop_caches [@more@]
mysql性能监控指标
ref: http://hi.baidu.com/jiaofu1127/blog/item/4ada5790f8b608146f068cb8.htm[@more@]1.系统mysql的进程数 ps -ef | grep "mysql" | grep -v "grep" | wc –l 2.Slave_running mysql > show status like 'Slave_running'; 如果系统有一个从复制服务器,这个值指明了从服务器的健康度 3.Threads_connected mysql > show status like 'Threads_connected'; 当前客户端已连接的数量。这个值会少于预设的值,但你也能监视到这个值较大,这可保证客户端是处在活跃状态。 4.Threads_running mysql > show status
mysql里alter table 重定义主键的步骤:
Processing CREATE INDEXConsider an example. If you use the ALTER TABLE command to redefine the primary key of table T (or otherwise cause the clustered index to be recreated, for example by compressing an uncompressed table), the InnoDB Plugin will perform the following sequence of steps: Lock table T in exclusive mode. Create a new temporary table T1, with the new index structure. Copy data from table T to temporary table T1. Rename the original table T to temporary table T2. Re
Mysql innodb存储引擎的性能优化
ref:http://7567567.blog.51cto.com/706378/586925Mysql innodb存储引擎的性能优化这个说得挺全,挺不错![@more@]一切都从应用程序设计开始 1. 通用应用程序的设计是至关重要的 1.1. 设计你的schema,索引和查询,以及选择正确的存储引擎是常用的优化手段。 1.2. 在有些情况下存储引擎的选择会影响到schema和索引 1.3. 我们这里不会覆盖到一般的schema设计方法,但是会主要聚焦到Innodb存储引擎。 2. 每个存储引擎都是不同的 2.1. MySQl提供多种存储引擎可供选择 2.2. 它们每个都有不同的设计和操作属性。 2.3. 一个给某个存储引
vim的列编辑
vi列编辑模式下多行注释代码不成功 http://bbs.et8.net/bbs/showthread.php?t=972800 linux中vim的列编辑实例 http://sharkyan.blog.51cto.com/536264/283982主要的使用如下:(其实重要的是进入块模式和退出时的保存) 1:进入列模式下: 移动光标到要注释区块的第一行,Unix下按Ctrl+V,Windows版本的VIM则按Ctrl+Q 2:选择所需要的列:光标移动到要注释区块的最后一行(若干个j,或者直接输入行号再按G等) 3:针对列的操作: 例如删除 输入d ,例如替换 输入c ,需要输入则 按Shift+I,输入(这
办公室一族喝茶养生:黄芪泡茶使精力旺盛
办公室一族喝茶养生:黄芪泡茶使精力旺盛看看吧,多养养生![@more@]办公室是一个污染严重的地方,因为大多数办公室都不透风,空气污浊是必然的。电磁污染也不得了,小小的空间十几台电脑。再加上办公室族运动少,所以,坐办公室的人排毒就显得非常重要了。 眼睛干、红:喝菊花茶,可以加枸杞、决明子,这些在超市都能买到,如果有拉肚子症状,决明子就别加了; 感觉每天懒洋洋,不想说话、有气无力的:喝黄芪茶。在超市或者中药店能买到。弄几片泡茶喝; 女性如果容易痛经、月经过多、气郁的:可以喝玫瑰花茶; 胃口
rman维护归档日志
crosscheck archivelog all;delete expired archivelog all;report obsolete;delete obsolete;[@more@]
10g和11g自动任务的区别
10g和11g自动任务的区别[@more@]Oracle10g增加了一个新的任务,用来自动分析数据库,用于增加CBO执行的正确性。这个任务就是GATHER_STATS_JOB, 任务定义周一到周五的夜晚执行,和周六日全天执行。在oracle11g中job的名称有些不同。 oracle这个自动收集信息的出发点很好,但是,大部分系统晚上的负载也很高,或者执行计划改变,会引起新的性能问题。 而且oracle这个自动收集信息的job非常耗性能。 oracle10g的系统自动job SQL> select job_name,comments from dba_scheduler_jobs; JOB_NAME COMME
connect by 的排序问题
order SIBLINGS by这个关键字来排序[@more@]SQL> desc sys_menu;Name Type Nullable Default Comments -------- -------------- -------- ------- ---------------------------- ID NUMBER(8) NAME VARCHAR2(50) Y MEMO VARCHAR2(512) Y MENUTYPE NUMBER(2) Y PARENTID NUMBER(8) Y '0'
linux oracle AIO实现
这篇文章介绍了linux 下 oracle AIO实现,对于性能提高还是很有帮助[@more@]一直知道异步IO的存在,未有深入研究已经和测试过,偶然搜索到一些博主的文章,发现文章写的比较齐全,就大概整理了一下文章,并做了简单的测试来共享,如果你的系统遇到写问题或者想改善一下IO的效率,可以考虑一下异步IO的使用,尤其对使用裸设备的提升最为明显。介绍: 异步 I/O 是 Linux 内核中提供的一个相当新的增强。它是 2.6 版本内核的一个标准特性,但是我们在 2.4版本内核的补丁中也可以找到它。 背后的基本思想是允许进程发起很多 I/O 操作,而不用阻
oracle11gR2在RedHat5上前期安装配置脚本
cat oracle11g_pre.sh注意还需要注意shm在 /etc/fstab 里修改一下:tmpfs /dev/shm tmpfs defaults,size=4096M 0 0加上这个size,可以设为物理内存的1.5倍[@more@]rpm -Uvh setarch-2*rpm -Uvh make-3*rpm -Uvh glibc-2*rpm -Uvh libaio-0*rpm -Uvh compat-libstdc++-33-3*rpm -Uvh compat-gcc-34-3*rpm -Uvh compat-gcc-34-c++-3*rpm -Uvh gcc-4*rpm -Uvh libXp-1*rpm -Uvh openmotif-2*rpm -Uvh compat-db-4*rpm -Uvh unixODBC*rpm -Uvh libaio-*echo "#kernel.shmall=2097152kernel.sh
vmstat详解
vmstat 2 5vmstat -s[@more@]vmstat结果内容的解释 Vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 88 199564 134860 1175252 0 0 0 352 9323 10496 8 6 85 0 0 procs r 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。 b 列表示
linux 下 free的用法
free的用法,这篇文章介绍的很详细[@more@]语 法: free [-bkmotV][-s <间隔秒数>] 补充说明:free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。 参 数: -b 以Byte为单位显示内存使用情况。 -k 以KB为单位显示内存使用情况。 -m 以MB为单位显示内存使用情况。 -o 不显示缓冲区调节列。 -s<间隔秒数> 持续观察内存使用状况。 -t 显示内存总和列。 -V 显示版本信息。 如果内存不足,可以增加
sar的用法
sar是一个很有用的工具,下面是具体的一些用法sar -n DEV 2 5 查看网络流量sar -d 2 5sar -u 2 5sar -b 2 5[@more@]# sar -n DEV -u 1 10 看看当前网络流量 # iostat -t 1 10 看看当前硬盘读写速度命令我到网上找了篇sar使用方法的文章:在 使用UNIX操作系统的过程中,我们常常会用到各种各样的问题,比如系统运行速度突然变慢,系统容易死机或者主机所带的终端常出现死机,这时我们常常猜 测,是硬盘空间太小,还是内存不足?I/O出现瓶颈,或者是系统的核心参数出了问题?这时,我们应该考虑使用系统给我们提供的sar命令来对系统作一个
oracle commit的时候究竟发生了什么
commit究竟发生了什么,其实很少的事情需要做把SCN号写入日志文件LGWN把剩余的redo写入日志文件所有locks被释放掉进行块清理。块清理是指将,将保存在这个block中的事务信息清理掉[@more@]1.从理解LOGW什么时候将redo log buffer中把redo写入redo log file理解commit; 当redo log buffer 三分之一满的时候写当commit的时候写当发生日志切换的时候写当产生的redo满1M的时候写当DBWN要写的时候,先写redo每3秒写 也就是说,redo是以一种相对连续的方式写入日志文件的。所以不管一个事务产生了多少redo,其实commit的时候做的工作都差不多
Oracle checkpoint详解
这里有关checkpoint的详细解释,很不错![@more@]checkpoint扫盲什么是checkpointcheckpoint的作用检查点分类checkpoint相关概念术语RBA(Redo Byte Address), Low RBA(LRBA), High RBA(HRBA)Buffer checkpoint Queues (BCQ)Active checkpoint Queue (ACQ)完全检查点 (normal checkpoint)完全检查点工作过程什么时候发生normal checkpointcheckpoint和SCN有什么关系?增量checkpoint增量checkpoint工作过程发生增量checkpoint的先决条件增量checkpoint的特点增量checkpoint相关参数设置与完全checkpoint的区别查看系统的checkp
V$sql_text v$sqlarea v$sql 的区别
V$sql_text v$sqlarea v$sql 的区别[@more@]v$sqltext 存储的是完整的SQL,SQL被分割 SQL> desc v$sqltext Name Null? Type ----------------------------------------- -------- ---------------------------- ADDRESS RAW(4) --------- HASH_VALUE NUMBER --------- 和 address 一起唯一标志一条sql COMMAND_TYPE NUMBER PIECE
innodb_flush_log_at_trx_commit和sync_binlog innodb_flush_method
innodb_flush_log_at_trx_commit和sync_binlog innodb_flush_method的介绍[@more@] innodb_flush_log_at_trx_commit:控制了innodb将log buffer中的数据写入日志文件并flush磁盘的时间点 innodb_flush_log_at_trx_commit=0 日志缓冲区(存放redo log)以每秒一次的频率flush写入日志文件,并对文件描述符执行磁盘刷新操作,但不会在事务执行期间进行任何处理 innodb_flush_log_at_trx_commit=1 在每次执行事务时都将redo log buffer写入日志文件,并对文件描述符执行磁盘刷新操作 innodb_flush_log_at_trx_commit