- 浏览: 66283 次
- 性别:
- 来自: 江苏
最新评论
-
thrillerzw:
"试想,如果父类中有10个抽象方法,而继承它的所有子 ...
Spring 模板+回调 -
gufenglian:
亲,只能静态化ChannelFactory规避是指什么?我也遇 ...
Caused by: java.lang.OutOfMemoryError: Direct buffer memory -
fengpy2009:
...
Spring 事务编程 -
shishuoxx:
博主很犀利。。。
关于六个嫌疑人的问题
文章列表
什么是索引覆盖
就是select的数据列只用从索引中就能够取得,不必读取数据行,换句话说查询列要被所建的索引覆盖。
那么显然select * from ...是一种拙劣的查询,除非你建立了包含所有列的索引(这样建索引脑子进水)。
对 于索引覆盖查询(index-covered query),使用EXPLAIN时,可以在Extra一列中看到“Using index”。
Select col1,col3 from table1 where col2 = 'value'.
Create index index_name1 on table1(col2,col1,col3).
引用 :http://www.cnblogs.com/adforce/archive/2011/04/20/2021929.html
1)脏读:脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。
...
mysql 可能的性能优化点
- 博客分类:
- mysql
1:在执行insert 或者delete的时候,在语句中加入delayed,则程序立刻返回结果。等待合适的时间,改语句将会执行。
2:在导入数据的时候,最好关闭自动提交,然后删除索引,在导入完毕后,再建立索引
3:sql 中含有大量的or语句,进行改进成采用 union 和多个select来完成
4:在执行sql之前,可以采用explain对sql 进行解析,生成执行计划
5:like执行时很慢的,建议采用FULLTEXT
来自:http://code.alibabatech.com/blog/experience_1348/netty-nio-direct-memory-leak.html
在测试中发现,当不停的开关Netty的NioClientSocketChannelFactory(比如大量连接失败重连等情况下),存在Direct Memory泄露。
测试代码:
for (int i = 0; i < Integer.MAX_VALUE; i ++) {
ChannelFactory channelFactory = new NioClientSocketChannelFactory(
Execut ...
1:start transaction
执行sql
commit 或者rollback
2:savapoint
保留点 。在事务处理中设置的临时占位符,可以对他发布回退,对回退整个事务不同
savepoint one ;
执行sql
rollback to one;
保留点在事务处理完成或者回滚 后会主动的释放,或者显示的调用 release savepoint
3:为了不让sql 执行提交。我们可以设定
set autocommit=0; 只是针对连接而言,不是针对服务器的
1:只有表才支持触发器、视图不支持
create trigger 名称 (after before) (delete 、insert 、update)on 表 行为(for each row select 'Hello';
2:每个表每个事件每次只允许一个触发器。因此,每个表最多支持6个触发器
3:单一触发器不能跟多个事件和多个表关联
4:在执行insert的触发器的时候,可以从NEW这个虚拟表中获取数据
5:new视图中的数据可以更新,在before update 之前
6:mysql 的处罚期内部无法call 存储过程
mysql 存储过程
- 博客分类:
- mysql
1:使用指定分隔符,来区分默认的;。防止在客户端命令终端解析错误使用delimiter
2:IN 是输入变量 OUT 是输出 --注释 在存储过程内部使用declare 来定义临时变量,内部的判定条件 ---if ** then ....(else | elseif) end if ; select *** into *** 实现变量的赋值
3:查看存储过程的语句 show create procedure 存储过程名称。
查看存储过程的一些信息 show procedure status
4:mysql的游标是一个存储在mysql 服务器上的数据库查询,其只 ...
mysql workbence 工具使用技巧
- 博客分类:
- mysql
想让你的mysql中sql editor也能像eclipse 那样assit的提示功能。那么可以按照如下的步骤
点击菜单:editor---》preferences--->点击 sql editor 选中automatically start code completing
mysql 语句 注意
- 博客分类:
- mysql
distinct 只能对整个请求语句而言,而不是其前置列
在同时使用where 和 order by的时候,需要将 order by 放在后面
where a=1 or a=2 and b=3 的计算顺序是:a=1 or (a=2 and b=3) 即and 的优先级比or高
表达式中的like 是对列值的匹配 regexp 正 ...
mysql data的存储目录变更
- 博客分类:
- mysql
1: 对于基于 rpm 安装的系统 ,修改其数据源的目录,采用修改
etc/init.d 下的mysql 文件
修改里面的
datadir=/data/mysql/data
即可
2: 对于采用源码编译的系统。直接修改my.cnf文件,修改添加datadir=/data/mysql/data 即可
目前不清楚为什么采用
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/li/data/ 的方式不起作用
grep TP_S_SMSGW_HIGH ~/logs/`hostname`/common-info.log -c |awk '{print$1}' |awk 'BEGIN{sum=0}{sum+=$1}END{print sum/2}'
mysql 入门 安装
- 博客分类:
- mysql
1:从官网下载linux 安装版本的rpm 包
下载如下的两个包
MySQL-client-5.5.27-1.rhel5.x86_64.rpm
MySQL-server-5.5.27-1.rhel5.x86_64.rpm
然后采用rpm 指令安装
rpm -ivh MySQL-client-5.5.27-1.rhel5.x86_64.rpm --nodeps 这种方式安装是安装到默认的路径,这里建议安装到指定的目录。在指定目录的时候 --prefix=/usr/local/mysql但是有的时候会报错:package MySQL-server is not ...
基于通配符的方式使用
import java.text.MessageFormat;
import java.util.ListResourceBundle;
import java.util.ResourceBundle;
import com.taobao.remoting.util.LogConstants;
/**
* 日志资源Bundle家族的默认成员。
*
*/
public class LogResources extends ListResourceBundle {
static private final ResourceBundle logBundle ...
instanceof 与isAssignableFrom
instanceof 针对实例
isAssignableFrom针对class对象
isAssignableFrom 是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的超类或接口。
通常调用格式是
Java代码
Class1.isAssignableFrom(Class2)
调用者和参数都是 java.lang.Class 类型。
而 instanceof 是用来判断一个对象实例是否是一个类或接口的或其子类子接口的实例。
...
Java SoftReference
博客分类: Java
javasoftreference
SoftReference的语义就是当内存不够用的时候,GC会回收SoftReference所引用的对象。所以,在memory sensitive的程序中将某些大型数据设置成SoftReference再合适不过了。
创建一个SoftReference:
Java代码
Object obj = new Object();
SoftReference softRef = new SoftReference(obj);
obj = null;
最后那句“obj = null ...