-
- install firefox3.6 on ubuntu 9.10
- 2010-04-25
First , you should add this command in the shell:
sudo add-apt-repository ppa:ubuntu-mozilla-daily/ppa
Then,do update:
sudo apt-get update
Last step:
sudo apt-get install firefox-3.6
See,you can run Firefox 3.6 now!
- Views(6033) | Comments(0) | In System/Application Linux Server
-
- DB2(as400)数据分页SQL
- Weather:None
- 2009-07-06
方法1:
利用DB2自带(ORACLE一样)的”ROWNUMBER() OVER(ORDER BY sort-key)”函数来完成,用法如下
select * from (select rownumber() over(order by sortkey1 asc,sortkey2 desc,…) as rownumber_,* from dbname1 order by sortkey1 asc,sortkey2 desc) as temp_db where rownumber_ between ?start+1 and ?end
这种方法由于是DB2自带的,相对来说大量数据的时候效率可能会好点(待求证),但如果是查询的表比较多和条件比较多的时候感觉会有点混乱,容易出错.
方法2:
之前用过MSSQL的那种取出前一部分的最大ID然后再取比这个ID大的相对的page size数量的数量,这个方法比较通用一些,但问题是同样组装比较复杂,当然你可以弄到PROC里面,二是这个方法数据量很大的情况下,越往后的分页效率越低,并且效率变化很明显.
方法3:
使用”FETCH FIRST ?pagesize ROWS ONLY”,用法如下
select * from dbname1 where key not in(select key from dbname1 FETCH FIRST (page-1)*pagesize ROWS ONLY) FETCH FIRST pagesize ROWS ONLY
这种方法的效率现在还无从考证,但这种方法比较容易组装SQL,因为分页的部分虽然字符比较多,但全放在了条件语句后面.
综合三种方法,第二种需要一个排列的KEY,这样的条件,对于AS400里的DB2比较麻烦,因为我操作过的很多表,其实里面是没有用于排序的KEY甚至是没有KEY的,AS400采用自己的游标(类似一个内部的ID)来知道当前是第几条数据.第一第三种方法在KEY这方面相对好一些,但还不是太完美.
- Views(8599) | Comments(0) | In System/Application AS400について
-
- 让SQL飞起来[转]
- Weather:18~23度,阵雨
- 2009-06-19
任何对列的操作都将导致表扫描,它包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等号右边。in、or子句常会使用工作表,使索引失效;如果不产生大量重复值,可以考虑把子句拆开;拆开的子句中应该包含索引。
要善于使用存储过程,它使SQL变得更加灵活和高效。从以上这些例子可以看出,SQL优化的实质就是在结果正确的前提下,用优化器可以识别的语句,充分利用索引,减少表扫描的I/O次数,尽量避免表搜索的发生。其实SQL的性能优化是一个复杂的过程,上述这些只是在应用层次的一种体现,深入研究还会涉及数据库层的资源配置、网络层的流量控制以及操作系统层的总体设计。- Views(5239) | Comments(0) | In System/Application
-
- Sybase 分页方法,存储过程(转)
- Weather:17~27度,晴,北风4~5级
- 2009-05-26
您可以使用 FIRST 或 TOP 关键字限制查询的结果集中包括的行数。这些关键字用于包括 ORDER BY 子句的查询。
示例
以下查询返回在按姓氏对雇员进行排序时首先出现的雇员的信息:
SELECT FIRST *
FROM employee
ORDER BY emp_lname
以下查询返回按姓氏排序时出现的前五个雇员:
SELECT TOP 5 *
FROM employee
ORDER BY emp_lname
在使用 TOP 时,您也可以使用 START AT 来提供偏移。以下语句列出按姓氏以降序进行排序时出现的第五个和第六个雇员:
SELECT TOP 2 START AT 5 *
FROM employee
ORDER BY emp_lname DESC
FIRST 和 TOP 只能与 ORDER BY 子句联合使用,以确保获得一致的结果。如果使用 FIRST 或 TOP 时没有 ORDER BY,则会触发语法警告,并且很可能产生无法预知的结果。
注意
'start at' 值必须大于 0。当 'top' 为常量时,其值必须大于 0;当 'top' 为变量时,其值必须大于或等于 0。- Views(5604) | Comments(0) | In System/Application
-
- 用VBA实现EXCEL单元格输入即保护功能
- Weather:春天来了,百花还未花
- 2009-04-08
由于Tracy要求财务上用的EXCEL表要实现的功能:当前SHEET页上的某些单元格或行或列,录入数据的人,只有录入一次,录入完则立即保护起来,如果想修改,只能有密码的人才能修改。
从这可以衍生出更具体的要求:
- 输入一次即保护起来,想再修改必须输入密码(即原始要求)
- 未输入的空白区(保护作用区,即将会被保护的)可以随便操作
- 输入密码后,只能修改当前选中的单元格,不能随意修改其它被保护的单元格
- 要修改被保护的单元格,弹出输入密码框
- 输入密码验证后,拉选(多选)单元格区域,被保护的还是不能被删除
- 被保护起来的单元格要特殊显示
- 保护状态下,拉选(多选)时不会触发密码提示框
- Views(9316) | Comments(6) | In System/Application
