做个md5查询站(2)初步设计

如何存储大规模数据?做这一个事情之前当然要好好的做一下规划,共做两个表,一个存储16位的密文,一个存储32位的密文。

字段也简单,一个密文,一个明文,用char来存放,以密文为主键:

Code

 

写一个插入数据的存储过程:

 

Code

 

再写一个循环来生成并写入密文及对应值:

 

Code

 

 CharToMD5是我自己写的一个生成MD5的函数,朋友可以自己写这个function。

经试验,数据库果然没有想像的那样好用,当数据达到1,679,062时,整个primary的文件达到了176M,其中16位密文表占64M,32位密文表占96M。

这里还有另外一个问题,当数据过百万时,sqlserver的查询效率就会变慢,特别是对于char型的数据来说要比我们通常用的int型慢很多。

由于密文是主键,又是char型,还面临着庞大的索引数据,16位密文表占了0.313 MB,32位密文表占了0.734 MB。

通常我们的网站承载的数据如果上万就是很多了,初级的数据库程序员一般不会考虑百万和千万级数据库的设计问题,因为一般也达不到,项目就挎掉了。

如何处理海量数据,网上找一找其实有很多方法:优化数据,合理安排索引,多表分区,多分区表,文件系统,服务器分布系统等等,想要学会这些东西往往要等到真正遇到了这样的问题才会认真的去学习。现在,看看手中的数据库,想想有什么办法可以用的?

posted @   风海迷沙  阅读(399)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示