一种简单的数据库分流的算法及实现

本文介绍了如何通过简单算法将大型数据库分散成多个小型库,提高查询速度并分散服务器负载。方法包括按数字或字符串类型(如手机号、身份证号)划分,并提供了一段根据地域代码动态切换数据库连接的代码示例。
摘要由CSDN通过智能技术生成
04年我在制作某省高考报名系统时使用过这种方法,效果很好但是源代码是基于2003的,今天已经不大适合了.
其实方法很简单:
1、目的:将一个大型数据库分散成几个小型的库,一方面加快查询速度,另一方面最主要的是能够将 数据库服务分散到几个不同的服务器上从而增强系统的反映能力。
2、方法:将数据库分散开,如果是连续数字的话,最好划分,例如手机号根据号段即可。身份证根据归属地,都可以。对于字符串类型的例如姓名等复杂一些,可以hash以后再想办法。
3、实际:该方法稳定可靠,我们已经在多个系统中使用多年没有出现过问题。
4、不足:分开的多个数据库如果需要合并统计时比较麻烦。
下边是该方法的具体代码:
1、首先应当配置Web.Config文件
< connectionStrings >   
     
< add name = " zy00 "  connectionString = " Data Source=./SQLEXPRESS;AttachDbFilename=|DataDirectory|/zhiyuan_Data.MDF;Integrated Security=True;User Instance=True "
         providerName
= " System.Data.SqlClient "   />     
     
< add name = " zy01 "  connectionString = " Data Source=./SQLEXPRESS;AttachDbFilename=|DataDirectory|/zhiyuan_Data.MDF;Integrated Security=True;User Instance=True "
         providerName
= " System.Data.SqlClient "   />
     
< add name = " zy02 "  connectionString = " Data Source=./SQLEXPRESS;AttachDbFilename=|DataDirectory|/zhiyuan_Data.MDF;Integrated Security=True;User Instance=True "
         providerName
= " System.Data.SqlClient "   />
     
< add name = " zy03 "  connectionString = " Data Source=./SQLEXPRESS;AttachDbFilename=|DataDirectory|/zhiyuan_Data.MDF;Integrated Security=True;User Instance=True "
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值