摘要:
SQL Server 2005 分区模板与实例 一、场景这一段时间使用SQL Server 2005 对几个系统进行表分区,这几个系统都有一些特点,比如数据库某张表持续增长,给数据库带来了很大的压力。现在假如提供一台新的服务器,那么我们应该如何规划这个数据库呢?应该如何进行最小宕机时间的数据库转移呢?如果规划数据库呢?二、环境准备要搭建一个好的系统,首先要从硬件和操作系统出发,好的设置和好的规划是高性能的前提,下面我就来说说自己的一些看法,欢迎大家提出异议;1) 对磁盘做RAID0(比如3*300G),必要时可以考虑RAID5、RAID10;2) 使用两张千兆网卡,一张用于外网,一张用于内网( 阅读全文
随笔档案-2010年12月
jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中
2010-12-31 17:15 by 假面Wilson, 409 阅读, 收藏, 编辑
摘要:
例:将多个选中的checkbox的值组装成一个字符串script type=text/javascriptfunction addMem(){//var followers = document.getElementsByName("followers");var f_str = '0';$("input[@name='followers']").each(function(){ if($(this).attr("checked")==true){ f_str += ","+$(this).attr("value"); }})alert(f_str);}/script========= 阅读全文
DataTable,List和Json的装换
2010-12-30 11:51 by 假面Wilson, 962 阅读, 收藏, 编辑
摘要:
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, 1394 阅读, 收藏, 编辑
摘要:
原文出处: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, 1483 阅读, 收藏, 编辑
摘要:
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, 643 阅读, 收藏, 编辑
摘要:
本月技术会议专题为数据库分区( 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, 309 阅读, 收藏, 编辑
摘要:
对于web应用开发,多数性能瓶颈均出现在数据库上,除了采用分布式架构或云处理(大公司基本上都是),更重要的是平时程序设计时要遵照一些规则,从根本上提高系统的性能,以下总结了一些常用的规则方法,仅供参考,欢迎跟帖补充。。。 1、把数据、日志、索引放到不同的I/O设备上,增加读取速度。数据量(尺寸)越大,提高I/O越重要。 2、纵向、横向分割表,减少表的尺寸,如:可以把大数据量的字段拆分表。 3、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,尽量使用字节数小的列建索引,不要对有限的几个值的列建单一索引。 4、 阅读全文
千万级别数据表,单列索引和多列索引性能对比
2010-12-17 15:43 by 假面Wilson, 5717 阅读, 收藏, 编辑
摘要:
由于Contact表存在多个(单列)索引,造成Delete ,update ,insert操作时需要花费大量的时间删除索引和重建索引。通过把多个(单列)索引合并成一个(多列)索引后,测试得出Delete ,update ,insert操作时需要花费的时间大大缩短。由于多个(单列)索引合并成一个(多列)索引,可能会对之前单列索引字段的查询性能有影响,做了对比测试。结果如下测试Sql语句查询结果行数多个(单列)索引运行时间单个(多列)索引运行时间结论删除一天数据Declare @minCreatedDate Datetime; Set @minCreatedDate= Convert(DateTi 阅读全文
SQL2005 索引优化(转)
2010-12-16 16:14 by 假面Wilson, 679 阅读, 收藏, 编辑
摘要:
聚集索引 , 表中存储的数据按照索引的顺序存储 , 检索效率比普通索引高 , 但对数据新增 / 修改 / 删除的影响比较大 非聚集索引 , 不影响表中的数据存储顺序 , 检索效率比聚集索引低 , 对数据新增 / 修改 / 删除的影响很小 如何让你的 SQL 运行得更快 ---- 人们在使用 SQL 时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略 了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库 环境中(如联机事务处理 OLTP 或决策支持系统 DSS )中表现得尤为明显。笔者在工作实践 中发现,不良的 SQL 往往来自于不恰当的索引设计、不充份的连接条件 阅读全文
SQL2005合理的索引设计
2010-12-16 14:18 by 假面Wilson, 236 阅读, 收藏, 编辑
摘要:
合理的索引有助于提升系统性能和可用程度,我工作中见过一个设计错误的索引导致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, 580 阅读, 收藏, 编辑
摘要:
这两天一直在研究2005 中如何对表进行分区,但是参考了多数资料都是说新建表后再将原表中数据插入到新表中,这样有些不方便. 最后找到了在已有表上做分区表的方法.见代码. 我们有个表现在已经到了1千万的数据,之前仅仅是优化索引和索引试图来在真实的环境中查看到底sql2005单表能负载多大的量。 最后得出结论,在我们公司现有的硬件条件下,sql2005中,单表的量最多不能超过250w数据。(这个数据会根据硬件的不同而会有所不同.) ---select * from t200705--1.先根据表数据的量大小,来拆分每一个分区,保证每一个分区表的记录尽量在250w条记录左右.--分区函数CREAT 阅读全文
SQL2005禁用和启用索引
2010-12-15 15:12 by 假面Wilson, 1657 阅读, 收藏, 编辑
摘要:
如果你在一张表上禁用一个群集索引,那么这张表就不能被用户访问。尽管如此,这些数据仍然保存在这张表中,但是它不能用于任何DML操作,除非这个索引重新建立或者删除掉。你可以使用ALTER INDEX REBUILD重新建立一个索引,你也可以使用CREATE INDEX WITH DROP_EXISTING语句启用一个禁用了的索引。 创建索引选择合适的可选项 在这个技巧中,我将使用AdventureWorks数据库中的Person.Address表。 禁用索引 你可以通过不同的方式禁用索引。让我们逐个来介绍。 1、 通过T-SQL禁用索引 执行下面的T-SQL来禁用AdventureWo 阅读全文
delete Update inner join 的使用
2010-12-13 17:31 by 假面Wilson, 267 阅读, 收藏, 编辑
摘要:
sql server下应该这么写delete from afrom a inner join b on a.id=b.id而Access中写为delete from a inner join b on a.id=b.idupdate 语句也不同Accessupdate a inner join b on a.id=b.id set a.pwd=b.pwd SQL Serverupdate a set a.pwd=b.pwd from a inner join b on a.id=b.id 阅读全文
工作中存储过程优化中发现的一些问题。
2010-12-12 18:39 by 假面Wilson, 246 阅读, 收藏, 编辑
摘要:
NO.1: Where条件的某些字段未建立索引。NO.2: 精简SQL语句。执行时间相差无几的2条Select语句,在Insert into时,执行效率相差N倍。ex: insert into Tmp_table select a.id from T1 a left join (select id,aid from T2 where type=12)b on a.id =b.aid left join T2 c on b.id=c.id; insert into Tmp_table select a.id from T1 a left join (select id,aid from T2 w 阅读全文
mysql index的使用
2010-12-10 10:43 by 假面Wilson, 3031 阅读, 收藏, 编辑
摘要:
数据十几万条发现多列肯定是优于单列索引,想想老柏默认的索引是有道理的,否则他不会这样设计的,因为程序的SQL表字段的调用,他最清楚^^还原老柏默认索引后,性能马上提高一半多.忘了默认索引的朋友我帮大家贴一下:首先删除所有的索引,除了ID那个,再运行下面:ALTER TABLE `dede_archives` ADD INDEX `typeid` (sortrank,click,pubdate,senddate,lastpost,postnum);ALTER TABLE `dede_archives` ADD INDEX `typeid_2` (typeid,typeid2);ALTER TAB 阅读全文