- 相关文章 (13)
- QBlog隐藏技巧 (2)
- 爱说说系列 (4)
- QBlog 开源发布 (3)
- QBlog版本发布 (8)
- QBlog 模板制作教程 (6)
- QBlog开发者视频教程 (6)
- 秋色园技术原理解析 (21)
- 啊哈
- スーパーコピーブランド専門ショップ時計 バッグ 財布N級品販売通販 全品送料無料!! 弊社は価値をつけてルイヴィトンを販売して、シャネル 、グッチなど。 ◆2018年は最も新型に人気があって、新しい素材の商品到着! 人気ブランド品大注目 ◆信用の第1、風格は多くて、品質は良いです! ◆運賃の無料(日本全国)が予約購入することを期待しています! ◆弊社の商品は絶対的な自信があります。 ぜひ、見てくださいね!! 海外スーパーコピーのスーパーコピー バッグ、アクセサリー スーパーコピー時計、貴金属の(リサイクル品)のスーパーコピー販売買取
- ルイヴィトン 財布スーパーコピー ようこそ ルイヴィトン スーパーコピー販売商店へいらっしゃいませ! 真心込めて最高 レベルのスーパーコピールイヴィトン偽物ブランド品をお届けしています。 安全税関対策+ 素早い配送+随時の在庫補給+丁寧な対応+スーパーコピー販売業界最低価格に挑戦 ! 当店は業界最高品質に挑戦!全商品はプロの目にも分からないルイヴィトン 財布スーパーコピーです。 ルイヴィトン財布コピー、ルイヴィトン 財布 ブランド偽物など世界 有名なバックコピー商品が満載! 当店のスーパーコピー商品は他店よりも質が高く、金額も安くなっております。 ご購入する度、ご安心とご満足の届けることを旨にしております よろしくお願いします ありがとうございます (*^__^*)
- 可以
- 不错,博主是大神,膜拜中
- 44
- 顶起来!一页文字,几载求索
- ACESS 我也是深恶痛绝,但还是不得不用
- 阿斯顿
- <label>上节回顾</label>
- 绑定一级域名(顶级域名)到秋色园QBlog博客教程(22749)
- 秋色园QBlog技术原理解析:UrlRewrite之无后缀URL原理(三)(22433)
- 秋色园QBlog技术原理解析:开篇:整体认识(一)(21285)
- 调查:是否支持秋色园QBlog走进开源博客之路(19983)
- Windows7下如何安装部署秋色园CYQBlog站点(15370)
- 秋色园QBlog技术原理解析:UrlRewrite之URL重定向体系(四)(14315)
- 开源博客-秋色园QBlog多用户博客系统安装视频教程(14065)
- 如何安装部署秋色园CYQBlog站点(13512)
- 秋色园QBlog技术原理解析:认识整站处理流程(二)(13317)
- 秋色园QBlog技术原理解析:Module之基类生命周期-页面加载(七)(12991)
- 调查:是否支持秋色园QBlog走进开源博客之路(32)
- 秋色园QBlog技术原理解析:UrlRewrite之无后缀URL原理(三)(23)
- 秋色园QBlog技术原理解析:开篇:整体认识(一)(13)
- QBlog开发者视频教程:开篇-开发基础配置与系统运行(一)(13)
- CYQ.IIS 无需要安装IIS运行QBlog网站(13)
- Windows7下如何安装部署秋色园CYQBlog站点(12)
- 开源博客CYQ.Blog 秋色园QBlog 源码下载[免费开放24个下载码](11)
- 开源博客-秋色园QBlog多用户博客系统安装视频教程(10)
- 绑定一级域名(顶级域名)到秋色园QBlog博客教程(10)
- 如何安装部署秋色园CYQBlog站点(9)
上节回顾:
上节 秋色园QBlog技术原理解析:性能优化篇:缓存总有失效时,构造持续的缓存方案(十四) 中,
介绍了 秋色园QBlog 在性能优化方面,为了避开缓存失效的空白期,特意使用静态化方式做为临时缓冲策略方案。
本节内容:
本节说明:
秋色园 QBlog 的优化工作,从一开始都是基于代码的技术优化方案,其中一个很大的原因:
就是秋色园 QBlog 一开始是寄放在朋友国外虚拟主机的子目录中,本人仅有ftp权限;
而操作一个正在运行的几百M的access数据库,实在不是件容易的事,
所以优化工作只能在技术上寻求突破。
自从秋色园 QBlog 转移到VPS后,能从物理上操作access,优化可选方案也增多了一下,
因此稍为偏移了一下,把整体优化的压力,部分分担到了access数据库。
本节将介绍一个最基础的数据库优化方式:文章内容的分表及分库。
基础分析:
我们看下原始的文章表数据结构的设计:
博客文章表:Blog_Content
字段:
ID 文章ID
Title 文章标题
Body 文章内容
Abstract 文章简介
...... 其它字段省略
这里有一个常规文章表的设计,就是文章的内容Body 字段,通常是放在文章表中的。
而这个字段出现及使用是在什么情况?
出现1:后台发表或编辑文章时
出现2:查看文章。
从这里可以看出,涉及点并不多,很少,而且前台有静态页面顶着,基本除了发文章和编辑文章,这么大数据量的内容,几乎都不露面。
那文章表出现和使用又在什么情况下出现?
这个多的数不清,秋色园 QBlog 首页,用户博客首页,文章列表,文章档案,几乎每个页面,都会用到文章列表。
因此,将不常用的,又占有90%以上空间的文章内容 Body 字段独立出来,显得相当有必要。
于是进行分表:
多了一个Blog_ContentBody表:
字段,就两个:
ID:文章ID
Body:文章内容。
然而仅是进行分表,力度似乎不够。
于是再进行分库:
将Blog_ContentBody直接分到另一个access数据库中。
提示:最后发现,去除文章内容的数据库,仅剩下几十M,而文章内容,竟然占了500多M。
由此,秋色园 QBlog 从一个数据变成2个数据库了,数据库名称也变化了一下:
从myspace.mdb,更名为:
qblog.mdb 主数据库
qblogbody.mdb 文章内容数据库
当然,表分了,库也分了,代码不可能不跟进,技术手段也得跟着升级。
升级的实现与操作步骤:
1:分表分库,代码动改兼容升级
CYQ.Data 数据框架,自身已支持同时操作多个数据库,因此分库后,改动的代码量很少,主要改动点有:
1:删除Blog_Content表的Body枚举字段。
2:增加多数据库的枚举:
public enum U_QBlogBodyEnum
{
Blog_ContentBody,
}
然后数据库增加一个QBlogBodyConn的数据库链接即可。
3:发布编辑文章和显示文章,增加文章内容的独立操作函数。
代码改动很小,就是半小时以内完成的事情。
2:数据库分库步骤:
1:直接登陆vps服务器,使用了CYQ.DBImport,从原来的数据库中,将ID和Body字段导入到另一个数据库的表Blog_contentBody中。
2:打开原来的表Blog_Content,删除Body字段,然后压缩一下数据库,剩下20多M了。
3:直接升级dll到服务器中,整个的升级过程很迅速。
分离升级后,感觉秋色园 QBlog 的访问速度又刷刷的上去了。
总结:
至此,秋色园 QBlog 开始走进数据库优化及代码优化双重结合的整体策略方案,
只是,有一点还没改的,就是还一直纠结的使用access,别问我为啥不用mssql。
也许某天,Access它跑不动了,优化到顶了,其它数据库就上场了。
下一篇:秋色园QBlog技术原理解析:性能优化篇:access的并发极限及分库分散并发方案(十六)
历史文章回顾:
1: 秋色园QBlog技术原理解析:开篇:整体认识(一) --介绍整体文件夹和文件的作用
2: 秋色园QBlog技术原理解析:认识整站处理流程(二) --介绍秋色园业务处理流程
3: 秋色园QBlog技术原理解析:UrlRewrite之无后缀URL原理(三) --介绍如何实现无后缀URL
4: 秋色园QBlog技术原理解析:UrlRewrite之URL重定向体系(四) --介绍URL如何定位到处理程序
5: 秋色园QBlog技术原理解析:Module之页面基类设计(五) --介绍创建基类和自定义生命周期
6: 秋色园QBlog技术原理解析:Module之页面基类-生命周期流程(六) --介绍基类生命周期内部业务
7: 秋色园QBlog技术原理解析:Module之基类生命周期-页面加载(七) --介绍界面html加载原理
8: 秋色园QBlog技术原理解析:Web之页面处理-内容填充(八) --介绍html的内容是如何填充
9: 秋色园QBlog技术原理解析:独创的多语言翻译机制(九) --介绍html多语言翻译原理
10:秋色园QBlog技术原理解析:页面内容填充及多语言翻译流程演示示例(十) --总结演示示例代码
11:秋色园QBlog技术原理解析:页面Post提交机制(十一) --介绍如果Post提交数据
12:秋色园QBlog技术原理解析:性能优化篇:字节与缓存与并发(十二) --介绍性能优化:字节,并发及缓存
13:秋色园QBlog技术原理解析:性能优化篇:全局的SQL语句优化(十三) --介绍全局掌握SQL,进行针对性优化
14 :秋色园QBlog技术原理解析:性能优化篇:缓存总有失效时,构造持续的缓存方案(十四)--介绍二次缓存方案
附章:
1:秋色园QBlog技术原理解析:博客一键安装工具技术实现[附源码下载] --开源秋色园安装工具原理
PS:秋色园QBlog下载地址:http://www.cyqdata.com/download/article-detail-427