摘要:1将DataTable或Ilist转换成JSON格式 using System; using System.Data; using System.Text; using System.Collections.Generic; using System.Reflection; /// summary /// 将DataTable或Ilist转换成JSON格式 /// /summary public class ToJson { public ToJson() { } //DataTable转成Json public static string DataTableToJso 阅读全文
AmCharts Flash 图形报表工具
2010-12-22 17:17 by 假面Wilson, 1390 阅读, 1 推荐, 收藏, 编辑
摘要:原文出处:http://blog.chenlb.com/2009/07/amcharts-flash-report-tool.html最近做一些服务器访问日志统计的工作,统计好数据后用什么工具输出,才会一目了然呢?恩,肯定是 chart。Java 开源里有 JFreeChart,但要比较多的编程。很久以前用过 flex 的示例,印象中觉得用 flex 做 chart 也比较好,但没有经验。同事建议用 google chart api,但是要通过 url 传数据,可能它可以用 post 。前期的统计报表输出是用 google chart 与 jquery 的插件 完成了统计报表了。但是总是觉得不 阅读全文
MSSQL获取当前插入的ID号及在高并发的时候处理方式
2010-12-22 10:49 by 假面Wilson, 1470 阅读, 1 推荐, 收藏, 编辑
摘要:MSSQL获取当前插入的ID号及在高并发的时候处理方式2010-06-22 13:33SQL Server 2000中,insert数据的时候返回自动编号的id,有三种方法实现SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。 IDENT_CURRENT :返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。 @@IDENTITY: 返回为当前会话的所有作用域中的任何表最后 阅读全文
分享SQL2005分区实现教程
2010-12-21 17:55 by 假面Wilson, 642 阅读, 1 推荐, 收藏, 编辑
摘要:本月技术会议专题为数据库分区( SQL Server Partitioning ),主要讲述为什么要分区,在什么情况下需要对数据进行分区,如何进行分区,分区表管理等内容。 一、 摘要 ◆ 分区基础知识 u SQL Server2005 分区 u 技术讨论 u 会议决议 二、 分区技术知识 1、 为什么要分区? (1) scale up VS scale out 首先需要理解 scale up 和 scale out 的含义, scale up (向上扩展),即后端大型服务器以增加处理器等运算资源进行升级以获得对应用性能的要求,提高硬件来提高数据处理及提高性能的一种方式。而 scale out 阅读全文
关系型数据库性能优化总结(转)
2010-12-20 16:29 by 假面Wilson, 303 阅读, 1 推荐, 收藏, 编辑
摘要:对于web应用开发,多数性能瓶颈均出现在数据库上,除了采用分布式架构或云处理(大公司基本上都是),更重要的是平时程序设计时要遵照一些规则,从根本上提高系统的性能,以下总结了一些常用的规则方法,仅供参考,欢迎跟帖补充。。。 1、把数据、日志、索引放到不同的I/O设备上,增加读取速度。数据量(尺寸)越大,提高I/O越重要。 2、纵向、横向分割表,减少表的尺寸,如:可以把大数据量的字段拆分表。 3、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,尽量使用字节数小的列建索引,不要对有限的几个值的列建单一索引。 4、 阅读全文
千万级别数据表,单列索引和多列索引性能对比
2010-12-17 15:43 by 假面Wilson, 5708 阅读, 1 推荐, 收藏, 编辑
摘要:由于Contact表存在多个(单列)索引,造成Delete ,update ,insert操作时需要花费大量的时间删除索引和重建索引。通过把多个(单列)索引合并成一个(多列)索引后,测试得出Delete ,update ,insert操作时需要花费的时间大大缩短。由于多个(单列)索引合并成一个(多列)索引,可能会对之前单列索引字段的查询性能有影响,做了对比测试。结果如下测试Sql语句查询结果行数多个(单列)索引运行时间单个(多列)索引运行时间结论删除一天数据Declare @minCreatedDate Datetime; Set @minCreatedDate= Convert(DateTi 阅读全文
SQL2005 索引优化(转)
2010-12-16 16:14 by 假面Wilson, 676 阅读, 0 推荐, 收藏, 编辑
摘要:聚集索引 , 表中存储的数据按照索引的顺序存储 , 检索效率比普通索引高 , 但对数据新增 / 修改 / 删除的影响比较大 非聚集索引 , 不影响表中的数据存储顺序 , 检索效率比聚集索引低 , 对数据新增 / 修改 / 删除的影响很小 如何让你的 SQL 运行得更快 ---- 人们在使用 SQL 时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略 了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库 环境中(如联机事务处理 OLTP 或决策支持系统 DSS )中表现得尤为明显。笔者在工作实践 中发现,不良的 SQL 往往来自于不恰当的索引设计、不充份的连接条件 阅读全文
SQL2005合理的索引设计
2010-12-16 14:18 by 假面Wilson, 233 阅读, 0 推荐, 收藏, 编辑
摘要:合理的索引有助于提升系统性能和可用程度,我工作中见过一个设计错误的索引导致sqlserver将一台4cpu的服务器资源用尽。 权威参考参见msdn:http://msdn.microsoft.com/zh-cn/library/ms191195.aspx 1、评估索引本身的占用空间,当索引相对于其数据本身过大可能会无明显作用。这种情况体现在:表很小,索引列过多,索引碎片过多。当索引在select中不起作用时,你还必须在insert和update、delete这些操作中去维护这些不起作用的数据。 2、In语句不一定不能使用索引,where id in(1,2)和where id =1 or 阅读全文
SQLServer 2005 海量数据解决方案(分区表)与对已存在的表进行分区 (转)
2010-12-16 11:50 by 假面Wilson, 576 阅读, 0 推荐, 收藏, 编辑
摘要:这两天一直在研究2005 中如何对表进行分区,但是参考了多数资料都是说新建表后再将原表中数据插入到新表中,这样有些不方便. 最后找到了在已有表上做分区表的方法.见代码. 我们有个表现在已经到了1千万的数据,之前仅仅是优化索引和索引试图来在真实的环境中查看到底sql2005单表能负载多大的量。 最后得出结论,在我们公司现有的硬件条件下,sql2005中,单表的量最多不能超过250w数据。(这个数据会根据硬件的不同而会有所不同.) ---select * from t200705--1.先根据表数据的量大小,来拆分每一个分区,保证每一个分区表的记录尽量在250w条记录左右.--分区函数CREAT 阅读全文
SQL2005禁用和启用索引
2010-12-15 15:12 by 假面Wilson, 1655 阅读, 0 推荐, 收藏, 编辑
摘要:如果你在一张表上禁用一个群集索引,那么这张表就不能被用户访问。尽管如此,这些数据仍然保存在这张表中,但是它不能用于任何DML操作,除非这个索引重新建立或者删除掉。你可以使用ALTER INDEX REBUILD重新建立一个索引,你也可以使用CREATE INDEX WITH DROP_EXISTING语句启用一个禁用了的索引。 创建索引选择合适的可选项 在这个技巧中,我将使用AdventureWorks数据库中的Person.Address表。 禁用索引 你可以通过不同的方式禁用索引。让我们逐个来介绍。 1、 通过T-SQL禁用索引 执行下面的T-SQL来禁用AdventureWo 阅读全文