关闭

提高大数量数据查询速度的简单方法

697人阅读 评论(0) 收藏 举报

和大家分享一个提高大数量数据查询速度的简单方法。实际工作中的解决方案,有一定的局限性,希望能给遇到类似情况的兄弟姐妹一些启发。
案例:
数据库中有一个主要的数据表,叫它MasterTable,结构如下,数量在10亿条以上,有30列左右。系统中大多数的查询都会与之有关,由于数据量巨大所以效率很低。
解决方案:
生成临时表如TemporaryTable1,TemporaryTable2等,结构如下,这些表根据数据查询的需要只包含MasterTable中的几列,2小时(业务需要)以后将这些临时表Truncate一次,重新产生数据。这样可以大大提高查询的速度。

MasterTable
-----------------------------
| Col1 | Col2 | Col3 | …… |
-----------------------------
| Data | Data | Data | …… |
-----------------------------

TemporaryTable1
---------------
| Col1 | Col2 |
---------------
| Data | Data |
---------------

TemporaryTable2
---------------
| Col1 | Col3 |
---------------
| Data | Data |
---------------

当然这种解决方法有局限性,就是使用的数据并不是最新的数据,准确点说应该是前2小时以内的数据,但是如果满足业务的需要那么也是可以接受的。最后想提一下,业务需求的确定很重要。顺便提一句,重要数据一般会保存10年不删除,最长的应该是15年(法律规定),国外有些是要求7年。

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:244087次
    • 积分:2649
    • 等级:
    • 排名:第13761名
    • 原创:86篇
    • 转载:52篇
    • 译文:0篇
    • 评论:51条
    最新评论
    技术网站