zoukankan      html  css  js  c++  java
  • 做个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。

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

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

  • 相关阅读:
    【PAT甲级】1043 Is It a Binary Search Tree (25 分)(判断是否为BST的先序遍历并输出后序遍历)
    Educational Codeforces Round 73 (Rated for Div. 2)F(线段树,扫描线)
    【PAT甲级】1042 Shuffling Machine (20 分)
    【PAT甲级】1041 Be Unique (20 分)(多重集)
    【PAT甲级】1040 Longest Symmetric String (25 分)(cin.getline(s,1007))
    【PAT甲级】1039 Course List for Student (25 分)(vector嵌套于map,段错误原因未知)
    Codeforces Round #588 (Div. 2)E(DFS,思维,__gcd,树)
    2017-3-9 SQL server 数据库
    2017-3-8 学生信息展示习题
    2017-3-5 C#基础 函数--递归
  • 原文地址:https://www.cnblogs.com/fhmsha/p/1317145.html
Copyright © 2011-2022 走看看