??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品一级二级三级,国产精品嫩草影院av蜜臀,密臀av在线播放 http://www.aygfsteel.com/lsbwahaha/archive/2009/11/04/301122.html胡鹏 胡鹏 Wed, 04 Nov 2009 10:20:00 GMT http://www.aygfsteel.com/lsbwahaha/archive/2009/11/04/301122.html http://www.aygfsteel.com/lsbwahaha/comments/301122.html http://www.aygfsteel.com/lsbwahaha/archive/2009/11/04/301122.html#Feedback 0 http://www.aygfsteel.com/lsbwahaha/comments/commentRss/301122.html http://www.aygfsteel.com/lsbwahaha/services/trackbacks/301122.html
今天在熟悉我们的目的时候,sql中看到FORCE INDEXQ额Q都不知道什么东东,有什么特别用处吗Q?查了下资料,原来是这样啊Q发C般不搞复杂sqlQ而且复杂sql DBA也不允许Q但优化的sql q是有必要了解下。(一般来说也不太会用,总被DBA pk了)
下面部分转:
对于l常使用oracle的朋友可能知道,oracle的hint功能U类很多Q对于优化sql语句提供了很多方法。同P在mysql里,也有cM的hint功能。下面介l一些常用的?
1。强制烦?FORCE INDEX
SELECT * FROM TABLE1 FORCE INDEX (FIELD1) …
以上的SQL语句只用徏立在FIELD1上的索引Q而不使用其它字段上的索引?
2。忽略烦?IGNORE INDEX
SELECT * FROM TABLE1 IGNORE INDEX (FIELD1, FIELD2) …
在上面的SQL语句中,TABLE1表中FIELD1和FIELD2上的索引不被使用?
3。关闭查询缓?SQL_NO_CACHE
SELECT SQL_NO_CACHE field1, field2 FROM TABLE1;
有一些SQL语句需要实时地查询数据Q或者ƈ不经怋用(可能一天就执行一两次Q?q样需要把~冲关了,不管q条SQL语句是否被执行过Q服务器都不会在~冲Z查找Q每ơ都会执行它?
4。强制查询缓?SQL_CACHE
SELECT SQL_CALHE * FROM TABLE1;
如果在my.ini中的query_cache_type设成2Q这样只有在使用了SQL_CACHE后,才用查询缓册Ӏ?
5。优先操?HIGH_PRIORITY
HIGH_PRIORITY可以使用在select和insert操作中,让MYSQL知道Q这个操作优先进行?
SELECT HIGH_PRIORITY * FROM TABLE1;
6。滞后操?LOW_PRIORITY
LOW_PRIORITY可以使用在insert和update操作中,让mysql知道Q这个操作滞后?
update LOW_PRIORITY table1 set field1= where field1= …
7。g时插?INSERT DELAYED
INSERT DELAYED INTO table1 set field1= …
INSERT DELAYED INTOQ是客户端提交数据给MySQLQMySQLq回OK状态给客户端。而这是ƈ不是已经数据插入表Q而是存储在内存里面等待排队。当mysql有空余时Q再插入。另一个重要的好处是,来自许多客户端的插入被集中在一Pq被~写入一个块。这比执行许多独立的插入要快很多。坏处是Q不能返回自动递增的IDQ以及系l崩溃时QMySQLq没有来得及插入数据的话Q这些数据将会丢失?
8 。强制连接顺?STRAIGHT_JOIN
SELECT TABLE1.FIELD1, TABLE2.FIELD2 FROM TABLE1 STRAIGHT_JOIN TABLE2 WHERE …
׃面的SQL语句可知Q通过STRAIGHT_JOINMySQL按TABLE1、TABLE2的顺序连接表。如果你认ؓ按自q序比MySQL推荐的顺序进行连接的效率高的话,可以通过STRAIGHT_JOIN来确定连接顺序?
9。强制用时表 SQL_BUFFER_RESULT
SELECT SQL_BUFFER_RESULT * FROM TABLE1 WHERE …
当我们查询的l果集中的数据比较多Ӟ可以通过SQL_BUFFER_RESULT.选项强制结果集攑ֈ临时表中Q这样就可以很快地释放MySQL的表锁(q样其它的SQL语句可以对q些记录q行查询了)Qƈ且可以长旉Cؓ客户端提供大记录集?
10。分l用时表 SQL_BIG_RESULT和SQL_SMALL_RESULT
SELECT SQL_BUFFER_RESULT FIELD1, COUNT(*) FROM TABLE1 GROUP BY FIELD1;
一般用于分l或DISTINCT关键字,q个选项通知MySQLQ如果有必要Q就查询结果放C时表中,甚至在时表中进行排序。SQL_SMALL_RESULT比vSQL_BIG_RESULT差不多,很少使用?/p>
]]>ibatis?$ ?# ?区别? http://www.aygfsteel.com/lsbwahaha/archive/2009/04/16/266026.html胡鹏 胡鹏 Thu, 16 Apr 2009 12:13:00 GMT http://www.aygfsteel.com/lsbwahaha/archive/2009/04/16/266026.html http://www.aygfsteel.com/lsbwahaha/comments/266026.html http://www.aygfsteel.com/lsbwahaha/archive/2009/04/16/266026.html#Feedback 0 http://www.aygfsteel.com/lsbwahaha/comments/commentRss/266026.html http://www.aygfsteel.com/lsbwahaha/services/trackbacks/266026.html 一个项目中在写ibatis中的sql语句Ӟwhere user_id in (#user_id_list# ), q行时L不行Q后来上|查了查Q才知道q里不该?,而应该用$,随即查了??的区别.
ȝ如下:
1.#是把传入的数据当作字W串Q如#user_id_list#传入的是1,2,则sql语句生成是这Pin ('1,2') ,当然不可?br />
2.$传入的数据直接生成在sql里,?user_id_list#传入的是1,2,则sql语句生成是这Pin(1,2) q就对了Q?#160;
3.#方式能够很大E度防止sql注入Q?#160;
4.$方式无法方式sql注入Q?#160;
5.$方式一般用于传入数据库对象Q例如传入表?
6.一般能?的就别用$.
直观的说
#str# 出来的效果是 'str'
$str$ 出来的效果是 str
另外 ##只能用在特定的几个地?$$可以用在M地方 比如 order by $str$
你甚臛_以直接写 $str$ ?order by q个字串攑֜str里传q来
今天׃N久,才把q个问题搞出来,郁闷下,不过出来了也挺开心的Q终于搞定啦Q嘿嘿~Q~
]]> ORCALE 自动~号 http://www.aygfsteel.com/lsbwahaha/archive/2009/04/06/264098.html胡鹏 胡鹏 Mon, 06 Apr 2009 04:20:00 GMT http://www.aygfsteel.com/lsbwahaha/archive/2009/04/06/264098.html http://www.aygfsteel.com/lsbwahaha/comments/264098.html http://www.aygfsteel.com/lsbwahaha/archive/2009/04/06/264098.html#Feedback 0 http://www.aygfsteel.com/lsbwahaha/comments/commentRss/264098.html http://www.aygfsteel.com/lsbwahaha/services/trackbacks/264098.html TB_OA_DUANXIN 表中? OADX_ID 字段动增?/div>
首先创个sequence :
create sequence SEQ_TB_OA_DUANXIN
minvalue 1
maxvalue 9999999999
start with 1
increment by 1
cache 20;
再创Z触发?
create or replace trigger TR_TB_OA_DUANXIN_ID_INC
before insert on TB_OA_DUANXIN
for each row
declare
-- local variables here
tmp NUMBER;
begin
select SEQ_TB_OA_DUANXIN.nextval into tmp from dual;
:new.OADX_ID := to_char(tmp);
end TR_TB_OA_DUANXIN_ID_INC;
]]> 如何在mysql中设|不同的字符?/title> http://www.aygfsteel.com/lsbwahaha/archive/2009/04/06/264097.html胡鹏 胡鹏 Mon, 06 Apr 2009 04:19:00 GMT http://www.aygfsteel.com/lsbwahaha/archive/2009/04/06/264097.html http://www.aygfsteel.com/lsbwahaha/comments/264097.html http://www.aygfsteel.com/lsbwahaha/archive/2009/04/06/264097.html#Feedback 0 http://www.aygfsteel.com/lsbwahaha/comments/commentRss/264097.html http://www.aygfsteel.com/lsbwahaha/services/trackbacks/264097.html ?/p>
server character setQclient character set可以在mysql config文g中设|,比如讄为utf8Q?/p>
vi /etc/my.cnf
# server
[mysqld]
default_character_set=utf8
# client
[mysql]
default_character_set=utf8
然后重启mysqld。设|database 字符集,可以在mysql中进行。对于新建database:
create database database_name default character set utf8;
对于已存在database:
alter database database_name default character set utf8;
改进jdbc client的字W集Q 在设|连接字串时讑֮Q如
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
]]> 数据?备䆾? 无法q原 解决办法(SQLSERVER) http://www.aygfsteel.com/lsbwahaha/archive/2009/04/06/264096.html胡鹏 胡鹏 Mon, 06 Apr 2009 04:18:00 GMT http://www.aygfsteel.com/lsbwahaha/archive/2009/04/06/264096.html http://www.aygfsteel.com/lsbwahaha/comments/264096.html http://www.aygfsteel.com/lsbwahaha/archive/2009/04/06/264096.html#Feedback 0 http://www.aygfsteel.com/lsbwahaha/comments/commentRss/264096.html http://www.aygfsteel.com/lsbwahaha/services/trackbacks/264096.html 可以直接复制数据库文? xxx.mdf ?nbsp; xxx.ldf
?sp_attach_db 存储q程 p搞定.
CZ
下面的示例将 pubs 中的两个文g附加到当前服务器?
EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'
N表示Unicode的含?pcd中有varchar和nvarchar一?一个Unicode字符占两个字?使用N'的情况主要是在双字节pȝ环境中强制系l对每个字符用Unicode标准来解?否则如果你的数据?mdf文g是中文名而又不加N'的话,数据库加载后名称可能变成ؕ?因ؓpȝ按单字节处理字符造成!
............................................................
如果认是SQL SERVER无法启动,h照下面步骤操?
1.重装SQL SERVER(注意要保留原来数据库的数据库文g,日志文g可不?
2.在SQL Analysis中用sp_attach_db数据库加到服务?
sp_attach_db用法:
sp_attach_db
数据库附加到服务器?
语法
sp_attach_db [ @dbname = ] 'dbname'
, [ @filename1 = ] 'filename_n' [ ,...16 ]
参数
[@dbname =] 'dbname'
要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型ؓ sysnameQ默认gؓ NULL?
[@filename1 =] 'filename_n'
数据库文件的物理名称Q包括\径。filename_n 的数据类型ؓ nvarchar(260)Q默认gؓ NULL。最多可以指? 16 个文件名。参数名UC @filename1 开始,递增? @filename16。文件名列表臛_必须包括LӞL件包含指向数据库中其它文件的pȝ 表。该列表q必d括数据库分离后所有被Ud的文件?
q回代码?
0Q成功)? 1Q失败)
l果?
?
注释
只应对以前用显? sp_detach_db 操作从数据库服务器分ȝ数据库执? sp_attach_db。如果必L定多? 16 个文Ӟ请用带? FOR ATTACH 子句? CREATE DATABASE?
如果数据库附加到的服务器不是该数据库从中分ȝ服务器,q且启用了分ȝ数据库以q行复制Q则应该q行 sp_removedbreplication 从数据库删除复制?
权限
只有 sysadmin ? dbcreator 固定服务器角色的成员才能执行本过E?nbsp;
]]> SQL Server 安装文g挂v错误解决办法 http://www.aygfsteel.com/lsbwahaha/archive/2009/04/06/264095.html胡鹏 胡鹏 Mon, 06 Apr 2009 04:16:00 GMT http://www.aygfsteel.com/lsbwahaha/archive/2009/04/06/264095.html http://www.aygfsteel.com/lsbwahaha/comments/264095.html http://www.aygfsteel.com/lsbwahaha/archive/2009/04/06/264095.html#Feedback 0 http://www.aygfsteel.com/lsbwahaha/comments/commentRss/264095.html http://www.aygfsteel.com/lsbwahaha/services/trackbacks/264095.html 刚开始?/span>SQL Server 2000 Q就l了我一个下马威。不q最l还是解决了。具体情况和解决Ҏ :
安装 SQL Server 2000 的操作系l是 Windows 2000 Profession Edition, 安装体中文标准版。会提示该版本的操作pȝ不能安装服务器组Ӟ只能安装 SQL Server 2000 个h版。于是退出,选择安装个h版。却出现了新的错误: “ 以前的某个程序安装已在安装计机上创建挂L文g操作。运行安装程序之前必重新启动计机?/span> ” 接着按照提示重启计算机,再安装,仍然出现同样的提C。再|上查找相关资料Q得知是安装E序在先前的安装q程中在pȝ注册表留下某些信息,D不能安装。于是经q多ơ试Q发现删除掉如下键g息即可安装:在运行窗口输?/span>regedit Q打开注册表编辑器Q在 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager 中找?/span>PendingFileRenameOperations Q?/span> 删除该键|关闭注册表编辑器。重新安?/span>SQL Server 2000 Q哈哈,久违的安装界面终于Q出水面了?/span>
q个键值是安装E序暂挂目Q只要找到对应的应用E序清除掉就行了?/span>
]]>
վ֩ģ壺
˳ |
|
¸ |
¡ |
|
ˮ |
Ӱ |
|
|
|
̫ |
ɽ |
ֿ |
|
ͨ |
|
|
ֹ |
¹Ȫ |
|
ԭ |
|
|
|
|
˳ |
|
|
ǧ |
|
ͬ |
|
|
־ |
Ҷ |
|
̩ |
ѭ |
|
|
|