Archive for 四月 2010

MySQL5.5.4InnoDB Plugin 新特性&改进

http://dev.mysql.com/doc/innodb-plugin/1.1/en/innodb-performance.html

mysql5.5.4的innodb增加了很多特性 希望在oracle里面,mysql可以继续走下去

DBA周总结模版

DBA周报模板
1.数据库维护操作
包含SQL审核,表模式设计,索引设置,慢语句分析等
2.数据库维护工具开发
可以提高工作效率,减少重复劳动,提高维护工作规范性,保证数据库健康运行的脚本,工具等
3.镜像库状态总结
包含镜像库落后情况,落后的原因分析,镜像库数据一致性检查等情况
4.数据库异常情况
包含线上库,镜像库,测试库的异常情况总结,描述异常的相关情况,引起的原因分析以及解决的方案
5. 数据库简单维护操作
如为开发人员增加ip访问权限,安排计划任务等
6. 调研工作
根据行业的热点话题进行调查研究,并应用到实际的工作当中
7 工作建议

从事DBA的工作已有接近10个月,每周的结束都需要用周报的形式向上级汇报工作进度 ,如果有一个固定的模版来写周报,可以让写周报的事情事半功倍。

这里贴一下我个人的周报模版

1.数据库维护操作

包含SQL审核,表模式设计,索引设置,慢语句分析,分析数据库日志信息等

例如拿到了一部分慢语句,根据表的查询条件设计索引

2.数据库维护工具开发

可以提高工作效率,减少重复劳动,提高维护工作规范性,保证数据库健康运行的脚本,工具等

例如对重复的,可自动化的工作进行自动化处理

3.镜像库状态总结

包含镜像库落后情况,落后的原因分析,镜像库数据一致性检查等情况

4.数据库异常情况

包含线上库,镜像库,测试库的异常情况总结,描述异常的相关情况,引起的原因分析以及解决的方案

例如io异常提升,找出原因;开发人员遇到之前没出现过的问题,找出根源

5. 数据库简单维护操作

如为开发人员增加ip访问权限,安排计划任务等

6. 调研工作

根据行业的热点话题进行调查研究,并应用到实际的工作当中

如当前比较hit的nosql相关的开源技术

7 工作建议

对部分现有的数据库管理工作流程提出意见和接近方案

Java和Python的语法比较

Java Python
编译 编译:

javac MyClass.java

java MyClass

解释:

python MyProgram.py

变量 必须声明的变量(静态类型) 没有声明(动态类型)
代码风格 代码风格:鼓励缩进 代码风格:必须缩进
备注 备注:使用  // 使用#号
文件名 文件名: 必须与类的名字一致 没有要求
语句结尾 所有的语句后面需要以 分号结束 不需要分号
程序与类 程序必须要嵌入到类里面 不需要
打印字符串

System.out.printf(“Student: %s ~ ID: %d%n”, name, id);
或者
System.out.println(“Student: ” + name + ” ~ ID: ” + id);

Student: Arthur ~ ID: 731137

print “Student: %s ~ ID: %d” %(name, id)

or

print “Student:”, name, “~ ID:”, id

If语句

if (cond) {

a = a + 1;

cond = false;

}

else if (!cond) {

a = a – 1;

}

q = 17;

if cond:

a = a + 1

cond = 0

elif not cond:

a = a – 1

q = 17

代码环绕

使用进行{ }进行环绕

if (cond) {

a = a + 1;

cond = false;

}

使用:

if cond:

a = a + 1

cond = 0

elif not cond:

a = a – 1

q = 17

条件内容 使用()来围住  if (cond) no
布尔值 true , false True,False
逻辑操作符&&, || ,!的使用 if (a<b) && (b<c) {..}

if (a==2) || (a==3) {..}

if (!found_item) {..}

if a==2 or a==3:

..

if not found_item:

While语句

s = “”;

while (counter > 0) {

s = s + “O”;

counter–;

}

mystring = s;

s = “”

while counter > 0:

s = s + “O”

counter -= 1

mystring = s

NB: a string with 5 O’s can be created with

5 * “O”

For语句

int s = 0

for (int i=0; i<10; i++) {

s = s + i;

}

s = 0

for i in range(10):

s += i

NB: can’t use ++ , use += 1 instead

类和对象

public class DNA {

public static int dna_objects; //class var.

private int length;            //object var.

public DNA() {                 //constructor

length = 0;

}

..

public int getLength() {

return length;

}

}

DNA dna = new DNA();

class DNA:

dna_objects = 0        # class variable

def __init__(self):    # constructor

self.length = 0     # object variable

..

def getLength(self):

return self.length

dna = DNA()

私有,公共属性和方法 private, public fields and methods everything is public
类的类型 class variables declared static object variables must be prefixed with self. and should be initialized in constructor,

class variables do not have prefix and are initialized in class definition

This&Self 关键字this是指类本身 Self必须是所有函数的第一个参数,外部调用函数时候不需要写self
构造器 构造器与类同名 __init__等价于构造器
如何构建对象 使用new DB = new DB() DB = db()