博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过拆分,提高表的访问效率
阅读量:6844 次
发布时间:2019-06-26

本文共 731 字,大约阅读时间需要 2 分钟。

纵向拆分:

纵向拆分是只按照应用访问的频度,将表中经常访问的字段和不经常访问的字段拆分成两个表,经常访问的字段尽量是定长的,这样可以有效的提高表的查询和更新的效率。

对于经常访问的字段,即搜索高频词;不经常访问的字段,搜索频率较低的词。对于一个表,这样拆分对于大数据的搜索,是很有必要的。如:对于一个拥有海量数据的产品网站,必定有一个搜索功能,目前的搜索,较为简单,可能就是就是这对产品名称,或者产品类型,或者产品货号搜索。作为复合搜索的条件并不多,但是对于一个产品的相关属性却很多,如此,首先要分析客户的搜索信息的习惯,一般而言,大家都会从一个“大”的,“较模糊”的方面进行搜索。如客户对某个舞蹈培训感兴趣,可能会在网上搜索相关信息,他(她)很可能搜索 “舞蹈培训”, “ 某某地 舞蹈培训”,“哪哪哪舞蹈培训”等,然后嗖的一下,会有一大堆的选项。。。。客户习惯也是从模糊到明确的一个过程。等等等,呵呵,可能扯远了。其实,就是客户一般会在比较大的方面进行搜索信息。(个人的拙见)。这里“大”的方面,就是较高的频词,敏感词。如此,将这些经常访问的关键字,单独放置一个数据表中,无疑可以有效提高查询效率。同时,针对什么样的网站,类型,着重点,以及客户习惯,对症下药,以符合民意的“搜索”,无疑也会给站点加彩。

横向拆分:

横向拆分是指按照应用的情况,有目的的将数据横向拆分成几个表或者通过分区分到多个分区中,这样可以有效的避免Myisam表的读取和更新导致的锁问题。

目前,我发现横向拆分站点也不少,我们公司有个网站就是这样的,大约有500万个产品,采用的是横向拆分的。由一个表,衍生为10个或者更多表,数据表的压力,也会减轻,无论搜索,还是更新,效率肯定会很高。

 

 

 

转载地址:http://xmbul.baihongyu.com/

你可能感兴趣的文章
【比原链】比原链合约入门
查看>>
PLSQL Developer连接Oracle11g 64位数据库配置详解
查看>>
什么是最有效的ddos混合防御方法?
查看>>
系统录音软件哪个好用,怎么录制系统声音
查看>>
【JS框架】【Cocos2d-javascript】入门教程三部曲【注:教程已过时】
查看>>
This certificate was signed by an unkown authority
查看>>
Java中常用的锁机制
查看>>
Android开发不得不知;爆款小程序是如何诞生的?
查看>>
史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
查看>>
二进制格式安装MySQL
查看>>
如何使用VNC Viewer连接远程CentOS服务器
查看>>
持久化上下文
查看>>
Java并发/多线程指南
查看>>
深入理解并行编程1
查看>>
听诺奖评委讲演有感
查看>>
强制卸载无响应的nfs挂载目录
查看>>
RHCE认证培训+考试七天实录(一)
查看>>
把DataTable导入SqlServer中
查看>>
py2exe的逆向
查看>>
shell 游戏系列 俄罗斯方块
查看>>