- 浏览: 20248 次
最新评论
-
lifeng1735:
[list][*][list][*][*][list][*][ ...
t-sql with as用法 -
lusanxiong:
xurichusheng 写道再有个具体的例子就好了
加了个简 ...
junit4使用总结 -
xurichusheng:
再有个具体的例子就好了
junit4使用总结
文章列表
表my_resume数据1000W条
表v_getAllUserLabels数据100条
SQL语句如下:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
WITH OrderedResults AS
( SELECT R.MyUserID,R.Pername,R.Sex,R.Birthday,workedcomnumber,workedyear,workedmonth, R.Hometown,R.Location,R.updateDate,R.photoflag,[PhotoName], R.selfdescription,R.Resu ...
应用场景:
需要把A数据库users表(有1000W条数据)全部导入到B数据库users表(表结构一样,但B库的表是经过分区的).
A库与B库在同一台服务器上.
数据库版本:
MS2005
我的方案:
insert into A.dbo.users(field1,field2,field3) select * from A.dbo.users;
问题:
1.效率极低.导入时间超过30分钟还没完成
2.产生的日志文件极大(目前有几G的日志,就这一个操作)
请问各位有没有更好的方法快速导入.
应用场景:
需查询数据库(1000W条数据的表),然后将查询出来的数据放入lucene索引文件中.
我的方案:
采用多线程去查询数据库,每个线程负责查询一个区间的数据(如:1W条),每个线程查询完之后创建一个索引文件,最后把这些小的索引文件
合并.
实施步骤:
创建了一个线程池,初始化500个线程,每个线程分配的任务是到数据库查询1W条记录(单线程环境下查询1W条数据花费5分钟)
直到1000W条数据全部查完.数据库连接池设了150个连接.
测试结果:
记录数量 花费时间 线程数量 单个线程查询的记录数
1W 75S 50 200
10W ...
sqlserver2005 内置了很多系统存储过程,这些存储过程都是以sp_开头的。根据这些存储过程我们可以查看到sqlserver很多系统信息。
--查看当前登录名为test的会话情况。
sp_who @loginame='test'
--查看数据库的锁定情况
sp_lock
具体用法可以参见:
http://msdn.microsoft.com/zh-cn/library/ms174313(SQL.90).aspx
附:sqlserver2005锁的模式见:
http://msdn.microsoft.com/zh-cn/library/ms175519(v=sql.90).aspx ...
junit4注解标记的方法运行的顺序
@BeforeClass->@Before->@Test->@After->@AfterClass
如果需要在类开始之前执行某个方法需要使用该注解标注,主要用来初始化资源
@BeforeClass
如果需要在每个测试方法执行前都执行一次需要使用该注解标注,主要用来初始化资源
@Before
每个测试的方法需要使用该注解标注,主要要来运行测试方法
@Test
该注解还有其它的一些属性,如excepted(预计有异常),time(限定执行时间),等
相对应上面的注解@After,@AfterClass分别是在方法和类执行完之后 ...
使用log4j需注意以下几项:
1.log4j.properties的配置文件需放在src(或者WEB/INFO/classes)目录下,启动tomcat进程时log4j引擎也会随之启动(也就是log4j会自动初始化)。
2.如果log4j.properties配置文件放在别的目录,则需要应用程序负责初始化log4j(因为tomcat启动时在classes下面没有找到log4j.properties文件,所以不会初始化log4j).如:spring它提供了一个初始化log4j的监听类,当然你也可以自已写个servlet初始化log4j.
3.log4j.properties里面的配置key= ...
eclipse手动安装插件方法,也就是通过link方式安装,推荐这种安装插件的方法,因为可方便的管理eclipse插件。
1.在eclipse安装home目录下(假定为d:\eclipse),新建一个my-plugin文件夹(主要用
来存放我们需要安装的各种eclipse插件)
2.下载你所需安装的插件,解压到my-plugin文件夹中。
--假定解压的插件文件夹名为svn1.6
3.同样在d:\eclipse目录下新建一个links文件夹(主要用来存放link文件,后为.link
或.txt等文本格式的就可以)
4.你要安装几个插件,相应的你就需要新建几个link文件。 ...
1.在应用程序中需要执行到的SQL语句,都应该放到查询分析器执行一遍,看看SQL的实际执行计划。和所花费的时间等其它的一些性能指标。这是一个好的习惯,确保在开发阶段SQL的执行效率不会太差,比等到上线时候来优化SQL,所需要的成本要低的多。
--查看IO扫描信息
set statistics io on;
--查看CPU执行时间
set statistics time on;
2.了解T-SQL select查询处理执行顺序,理解这个顺序对我们优化SQL有很大的帮助。可以参考如下一篇博文:http://www.cnblogs.com/gaiyang/archive/2011/0 ...
当随着表的数据量不断增长,很多存储的数据进行了不适当的跨页(sqlserver中存储的最小单位是页,页是不不可再分的),会产生很多索引的碎片。这时候需要重建索引来提高查询性能。
如何查看索引的使用情况:
SELECT index_type_desc,alloc_unit_type_desc,avg_fragmentation_in_percent,fragment_count,avg_fragment_size_in_pages,page_count,record_count,avg_page_space_used_in_percent
FROM sys.dm_db_index_physica ...
with as 在t-sql(SQL Server 2005版)中也称为公用表达试,语法如下:
WITH [name of temporary resultset] (columns in result set)
AS ( SQL Query Definition )
with as 作用:相当于定义一个临时名称存储一个select结果集。
with as 效率:比子查询和表变量效率要高。
examples:
WITH Developers (Name,Salary)
AS
(
SELECT Name, Salary FROM Employees WHERE Position = ' ...