HiSEN

Personal Technology Blog


  • 归档

  • 分类

  • 标签

  • 书单

  • 关于

  • 搜索
close
HiSEN

Oracle SQL语句优化 - 写出高效SQL

发表于 2017-01-20

[1]选择最有效率的表名顺序

只在基于规则的优化器中有效,ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.

[2]WHERE子句中的连接顺序

ORACLE采用自下而上(从后往前)的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾

[3]SELECT子句中避免使用’*’

ORACLE在解析的过程中, 会将’*’ 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间.需要什么字段就查询什么字段,永远不要查询出不需要的字段来

[4]减少访问数据库的次数

ORACLE在内部执行了许多工作: 解析SQL语句, 估算索引的利用率, 绑定变量 , 读数据块等;尽量使用缓存技术;

[5]设置单次访问合适的检索数据量

在SQLPlus , SQLForms和Pro*C中重新设置ARRAYSIZE参数, 可以增加每次数据库访问的检索数据量 ,建议值为200

阅读全文 »

HiSEN

该Java语句创建了多少个对象?

发表于 2017-01-20
1
String str = new String("java");

答案:最少一个,最多两个

  1. java中有常量池的概念,常量池和类文件相关,其数据存放的区域是在方法区中(方法区是jvm中内存模型的概念)
  2. 因为当你使用关键字new的时候是一定会生成一个String类的实例,当你使用直接量的方式定义了一个字符串时,假如这个字符串在常量池中,则不会去实例化String,反之则会生成一个String类的实例,并置入常量池
HiSEN

MySQL一些简单的语句

发表于 2017-01-20

emlog_ad字段
id
status
position
title
weight
content

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--找出重复
SELECT a.*
FROM emlog_ad a
WHERE a.id IN
(SELECT b.id id
FROM emlog_ad b
GROUP BY b.title
HAVING count(b.id)>1);

--删除重复留下id最小的
SELECT a.*
FROM emlog_ad a
WHERE a.id IN
(SELECT b.id
FROM emlog_ad b
GROUP BY b.title
HAVING count(b.id)>1)
AND a.id NOT IN
(SELECT min(c.id)
FROM emlog_ad c
GROUP BY c.title
HAVING count(c.id)>1);

--一句sql把所有AA改为BB,CC改为DD
UPDATE emlog_ad a
SET a.`status`=(
CASE
WHEN a.`status` = '1' THEN '11'
WHEN a.`status`='2' THEN '22'
END
);
HiSEN

hexo安装过程

发表于 2017-01-20

准备工作

  1. Node.js:点击下载
  2. git:点击下载
  3. MarkdownPad:点击下载

安装好上面三个工具
可能会遇到的问题:

1、Git Bash执行node -v提示无效 或者 npm install 报 command not found

解决办法:在环境变量 - 用户变量中 - 新建用户变量 - 添加nodejs安装路径

如:C:\tool\nodejs

2、ERROR Deployer not found : github

解决办法:

  1. 配置文件有问题,冒号后面都有一个空格的
  2. 执行:npm install hexo-deployer-git –save (这命令是为了解决hexo新版本的部署问题)

3使用淘宝镜像加快安装速度
安装cnpm,使用命令:

1
npm install cnpm -g --registry=https://registry.npm.taobao.org

安装过程

  1. 打开Git Bash
  2. 进入nodejs安装目录
  3. 开始安装hexo,输入下面代码
  4. npm install -g hexo#等待安装完成,这个过程可能会快也可能很慢,耐心等待
  5. mkdir blog && cd blog #上面这个代码是创建一个博客存放的目录
  6. hexo init#初始化
  7. cnpm install #安装依赖包
  8. 完成之后,本地博客就搭建完成
  9. hexo g #生成静态页面
  10. hexo s #启动服务器,打开http://localhost:4000 就是本地博客

本地博客安装完成,下面介绍发布到github上

  1. 登陆github,没有就注册
  2. 点击右上角加号+
  3. Create a new repository
  4. 名字写:yourgithubname.github.io
  5. 创建完成
  6. 点击Setting
  7. 选择一个主题,然后就好了
  8. 编辑blog文件夹里面的_config.yml配置文件
  9. 最后面添加
    1
    2
    3
    4
    deploy:
    type: git
    repository: http://github.com/yourname/yourname.github.io.git
    branch: master

最后执行

  1. hexo g#重新生成静态博客
  2. hexo d#将本地静态博客部署到github

现在你在浏览器打开:http://yourname.github.io就可以访问你的博客了
到此为止就搭建完了一个博客

开始写第一篇文章:
执行:hexo new “你的文章标题”
然后你在blog/source/_posts文件夹下面有文件,用markdownpad打开编辑
执行:

  1. hexo g#重新生成
  2. hexo s#本地查看效果
  3. hexo d#上传到github
  4. 或者不预览,直接一步上传到github:hexo d -g
HiSEN

Test Java Code

发表于 2017-01-20

这里我只是贴一段代码测试一下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package com.hisen.interview;

/**
* 变量不能被重写
*
* @author hisenyuan 2017年1月18日 下午10:33:33
*/
public class AboutExtends {
public static class A {
public int a = 0;

public void fun() {
System.out.println("A");
}

static {
System.out.println("Astatic");
}
{
System.out.println("I'm A class");
}
}

public static class B extends A {
public int a = 1;

public void fun() {
System.out.println("B");
}

static {
System.out.println("Bstatic");
}
{
System.out.println("I'm B class");
}
}

public static void main(String[] args) {
// 里面的static块方法,new了就会执行
// new new B()两个都执行,new new A()执行A的
//static代码块在{}代码块后面执行
A classA = new B();
System.out.println(classA.a);
classA.fun();
// 输出信息
// Astatic
// Bstatic
// I'm A class
// I'm B class
// 1
// B

// 多态记忆口诀
// 变量多态看左边
// 方法多态看右边
// 静态多态看左边
}
}
HiSEN

解决:html rendering error - MarkdownPad 2

发表于 2017-01-19

MarkdownPad 2在windows 10上会遇到这个错误

官方发布了这个问题的解决办法

详见:点击前往 页面中搜索:This view has crashed

解决办法

windows 10系统 需要下载 一个 awesomium_v1.6.6_sdk_win

这是一个 HTML UI ENGINE

下载地址:http://markdownpad.com/download/awesomium_v1.6.6_sdk_win.exe

1…2627
hisenyuan

hisenyuan

Java R & D

266 日志
33 分类
112 标签
GitHub Weibo
Links
  • 科技爱好者周刊
  • 美团技术团队
  • duanple(老师木)
  • 当然我在扯淡(王垠)
  • 段永平的博客
  • 梦殇国际
© 2016 - 2024 hisenyuan
由 Hexo 强力驱动
您是第  个访问者    |   
主题 - NexT.Mist