摘要: 在考虑采取优化行动之前(比如添加索引或非范式化),应该知道当前的查询是怎样被处理的,还应该有一些性能测量基线,这样才能比较改动前后的性能。SQL Server提供了一些工具(SET 选项)来支持对查询性能的监测;IO统计TIME统计PROFILE统计XML统计在执行查询前启用SET选项,他们会产生相... 阅读全文
posted @ 2014-07-20 18:48 冯翔 阅读(232) 评论(0) 推荐(0) 编辑
摘要: USE tempdbGOSET NOCOUNT ON--创建表结构IF OBJECT_ID(N'ClassB', N'U') IS NOT NULL DROP TABLE ClassBGOCREATE TABLE ClassB(ID INT PRIMARY KEY, Name VARCHAR(... 阅读全文
posted @ 2014-07-13 17:13 冯翔 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 在开始之前搭建演示环境:USE masterGOSET NOCOUNT ON--创建表结构IF OBJECT_ID(N'ClassA', N'U') IS NOT NULL DROP TABLE ClassACREATE TABLE ClassA(ID INT PRIMARY KEY, Nam... 阅读全文
posted @ 2014-07-06 22:34 冯翔 阅读(1711) 评论(0) 推荐(1) 编辑
摘要: 分配单元是堆或 B 树内用于根据页类型管理数据的页集合。下表列出了用于管理表和索引中的数据的分配单元类型。分配单元类型用途页类型IN_ROW_DATA包含除大型对象 (LOB) 数据以外的所有数据的数据行或索引行。Data/ImageLOB_DATA以下列一种或多种数据类型存储的大型对象数据:tex... 阅读全文
posted @ 2014-07-06 16:14 冯翔 阅读(267) 评论(0) 推荐(0) 编辑
摘要: var util = require("util"); //导入util模块var events = require("events"); //导入events模块module.exports = MyStream;function MyStream() { events.EventEmitter.call(this); //call方法使得MyStream对象继承了EventEmitter对象上的方法}util.inherits(MyStream, events.EventEmitter); //使用inherits方法MyStream.prototy 阅读全文
posted @ 2014-03-16 17:26 冯翔 阅读(382) 评论(0) 推荐(0) 编辑
摘要: node-mysql是一个node.js下的mysql驱动,前段时间在处理连接池的问题上遇到了连接不释放的疑难杂症,虽已解决,但仍需总结经验避免下次重蹈覆辙。下面是node-mysql中的连接池的部分代码,我加入了详细日志,以作备忘之用。/** * 在连接池中获取Connection * @param cb * @returns {*} */Pool.prototype.getConnection = function (cb) { //本地加的日志 console.log("getConnection _allConnections.length: %j, _freeConnec. 阅读全文
posted @ 2014-02-19 11:43 冯翔 阅读(2168) 评论(1) 推荐(0) 编辑
摘要: 在最近的一个项目中,有大量的数据源来至Excel,转成JSON供前台使用。Excel数据是人工录入的,难免会有错误,所以中间会有逻辑检查。在C#中读取Excel的方式有很多,网上一搜一大堆,这里我也贴出一个ExcelHelper,提供根据Excel文件获取所有Sheet名称和获取Sheet内容两个方法。使用的时候记得注册AccessDatabaseEngine,该驱动有64位、32位两个版本,请根据自己的环境选择正确的版本。using System;using System.Collections.Generic;using System.Data;using System.Data.OleD 阅读全文
posted @ 2014-02-16 18:21 冯翔 阅读(10342) 评论(3) 推荐(0) 编辑
摘要: ASP.NET SignalR是微软支持的一个运行在 Dot NET 平台上的 HTML Websocket 框架。它出现的主要目的是实现服务器主动推送(Push)消息到客户端页面,这样客户端就不必重新发送请求或使用轮询技术来获取消息。SignalR提供用于连接管理(例如,连接和断开的事件),分组连接和授权、发送、监听等一些简单易用的API,目前API支持JavaScript和C#两个平台,我们可以在NuGet上面轻松获取这些SDK。创建一个Startup.cs类在系统启动时注册SignalR。using Owin;using Microsoft.Owin;[assembly: OwinSta 阅读全文
posted @ 2014-02-16 13:21 冯翔 阅读(2381) 评论(0) 推荐(0) 编辑
摘要: 为了适应异步编程,减少回调的嵌套,我在项目中引入了Async,当批量处理且需要同步执行一些逻辑相同的异步函数时,觉得还是Async最为靠谱。我有一个类似下面代码的场景,依据数组中的每一个元素执行一个异步回调函数,比如http.get。var http = require('http');var fs = require('fs');var args_array = [ {name: "hao123", url: "http://www.hao123.com/index.html"}, {name: "ifeng& 阅读全文
posted @ 2013-11-27 17:58 冯翔 阅读(2128) 评论(0) 推荐(0) 编辑
摘要: 最近一直在做项目迁移的工作,由传统的ASP.NET转到Windows Azure,这里介绍一下Azure的配置管理。在传统的WinForm或ASP.NET项目下,配置文件为web.config(app.config),而Cloud Service项目的配置文件是*.cscfg。一个环境一个配置文件,并且提供可视化编辑。但这里的配置有一个缺点,目前Azure SDK2.0还不支持多级配置,传统配置下的appSettings和connectionStrings在这里只有合并了。在保证对现有系统最小影响的改动下,支持Azure的配置只需要引入一个对象CloudConfigurationManager 阅读全文
posted @ 2013-11-24 21:45 冯翔 阅读(977) 评论(0) 推荐(0) 编辑