精华内容
下载资源
问答
  • 数据库性能优化策略

    千次阅读 2016-07-05 22:24:44
    有数据表明:用户可以承受的最大等待...数据库优化策略有很多,设计初期,建立好的数据结构对于后期性能优化至关重要。因为数据库结构是系统的基石,基础打不好,使用各种优化策略,也不能达到很完美的效果。一:规范化

    这里写图片描述

    有数据表明:用户可以承受的最大等待时间为8秒。
    之前曾见过某个产品的一个列表页,40秒左右才能加载出来,几乎没有进行任何优化措施。
    没有索引,没有缓存机制,没有进行sql优化(sql语句很长,并且各种left join表关联)。
    数据库优化策略有很多,设计初期,建立好的数据结构对于后期性能优化至关重要。因为数据库结构是系统的基石,基础打不好,使用各种优化策略,也不能达到很完美的效果。

    一:规范化与反规范化

    大家都听说过:数据库设计三大范式.
    1.第一范式(确保每列保持原子性)
    第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。

    2.第二范式(确保表中的每列都和主键相关)
    第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。

    3.第三范式(确保每列都和主键列直接相关,而不是间接相关)
    第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。

    没有最好的设计,只有最合适的设计,所以不要过分注重理论。三范式可以作为一个基本依据,不要生搬硬套。
    数据库操作中最为耗时的操作就是 IO 处理,大部分数据库操作 90% 以上的时间都花在了 IO 读写上面。所以尽可能减少 IO 读写量,可以在很大程度上提高数据库操作的性能。

    二:优化策略:

    在设计表时应同时考虑对某些表进行反规范化,方法有以下几种:

    一是分割表。
    分割表可分为水平分割表和垂直分割表两种:
    水平分割是按照行将一个表分割为多个表,这可以提高每个表的查询速度,但查询、更新时要选择不同的表,统计时要汇总多个表,因此应用程序会更复杂。
    垂直分割是对于一个列很多的表,若某些列的访问频率远远高于其它列,就可以将主键和这些列作为一个表,将主键和其它列作为另外一个表。通过减少列的宽度,增加了每个数据页的行数,一次I/O就可以扫描更多的行,从而提高了访问每一个表的速度。但是由于造成了多表连接,所以应该在同时查询或更新不同分割表中的列的情况比较少的情况下使用。

    二是保留冗余列。当两个或多个表在查询中经常需要连接时,可以在其中一个表上增加若干冗余的列,以避免表之间的连接过于频繁,一般在冗余列的数据不经常变动的情况下使用。

    三是增加派生列。派生列是由表中的其它多个列的计算所得,增加派生列可以减少统计运算,在数据汇总时可以大大缩短运算时间。

    在数据库的设计中,数据应当按两种类别进行组织:频繁访问的数据和频繁修改的数据。
    对于频繁访问但是不频繁修改的数据,内部设计应当物理不规范化。
    对于频繁修改但并不频繁访问的数据,内部设计应当物理规范化。
    有时还需将规范化的表作为逻辑数据库设计的基础,然后再根据整个应用系统的需要,物理地非规范化数据。
    规范与反规范都是建立在实际的操作基础之上的约束,脱离了实际两者都没有意义。只有把两者合理地结合在一起,才能相互补充,发挥各自的优点。

    适当拆分
    有些时候,我们可能会希望将一个完整的对象对应于一张数据库表,这对于应用程序开发来说是很有好的,但是有些时候可能会在性能上带来较大的问题。

    当我们的表中存在类似于 TEXT 或者是很大的 VARCHAR类型的大字段的时候,如果我们大部分访问这张表的时候都不需要这个字段,我们就该义无反顾的将其拆分到另外的独立表中,以减少常用数据所占用的存储空间。这样做的一个明显好处就是每个数据块中可以存储的数据条数可以大大增加,既减少物理 IO 次数,也能大大提高内存中的缓存命中率。

    适度冗余
    为什么我们要冗余?这不是增加了每条数据的大小,减少了每个数据块可存放记录条数吗?
    确实,这样做是会增大每条记录的大小,降低每条记录中可存放数据的条数,但是在有些场景下我们仍然还是不得不这样做:
    1.被频繁引用且只能通过 Join 2张(或者更多)大表的方式才能得到的独立小字段。
    2.这样的场景由于每次Join仅仅只是为了取得某个小字段的值,Join到的记录又大,会造成大量不必要的 IO,完全可以通过空间换取时间的方式来优化。不过,冗余的同时需要确保数据的一致性不会遭到破坏,确保更新的同时冗余字段也被更新。

    三:其他技巧:

    1:字段类型优化
    下面的这些关于字段类型的优化建议主要适用于记录条数较多,数据量较大的场景,因为精细化的数据类型设置可能带来维护成本的提高,过度优化也可能会带来其他的问题:

    (1)数字类型
    非万不得已不要使用DOUBLE,不仅仅只是存储长度的问题,同时还会存在精确性的问题。同样,固定精度的小数,也不建议使用DECIMAL。
    非万不得已不要使用DOUBLE,不仅仅只是存储长度的问题,同时还会存在精确性的问题。同样,固定精度的小数,也不建议使用DECIMAL
    (2)字符类型
    非万不得已不要使用 TEXT 数据类型,其处理方式决定了他的性能要低于char或者是varchar类型的处理。定长字段,建议使用 CHAR 类型,不定长字段尽量使用 VARCHAR,且仅仅设定适当的最大长度,而不是非常随意的给一个很大的最大长度限定,因为不同的长度范围,MySQL也会有不一样的存储处理。

    (3)时间类型
    尽量使用TIMESTAMP类型,因为其存储空间只需要 DATETIME 类型的一半。对于只需要精确到某一天的数据类型,建议使用DATE类型,因为他的存储空间只需要3个字节,比TIMESTAMP还少。不建议通过INT类型类存储一个unix timestamp 的值,因为这太不直观,会给维护带来不必要的麻烦,同时还不会带来任何好处。

    2:合理使用索引

    3:缓存机制

    4:用EXPLAIN使你的SELECT查询更加清晰

    5:利用LIMIT 1取得唯一行

    6: 尽量避免SELECT *命令

    7:使用ENUM而不是VARCHAR

    8:尽可能的使用NOT NULL
     NULL 类型比较特殊,SQL 难优化。虽然 MySQL NULL类型和 Oracle 的NULL 有差异,会进入索引中,但如果是一个组合索引,那么这个NULL 类型的字段会极大影响整个索引的效率。此外,NULL 在索引中的处理也是特殊的,也会占用额外的存放空间。

     很多人觉得 NULL 会节省一些空间,所以尽量让NULL来达到节省IO的目的,但是大部分时候这会适得其反,虽然空间上可能确实有一定节省,倒是带来了很多其他的优化问题,不但没有将IO量省下来,反而加大了SQL的IO量。所以尽量确保 DEFAULT 值不是 NULL,也是一个很好的表结构设计优化习惯。

    展开全文
  • 二、流量优化策略 后台返回更新时间戳成功的数据后,我们是不是应该刷新页面呢?NO!这样太耗流量了,其次,如果用户翻到的是后面几页,刷新后又回到第一页了,MyGod!我辛辛苦苦上拉加载这么多,一个置顶操作就...

    【本文出处: http://blog.csdn.net#leytton/article/details/72758081

    在开发《小马分享》这款App的时候,H5页面用到了排序功能,就是把客户收藏的模板按照个人喜好进行先后顺序显示,这样更加方便使用。


    一、置顶排序问题

    一开始的思路是采用拖拽排序,但这样有两个问题

    1、数据库排序字段设计

    2、前端web的拖拽事件实现

    先不说问题一的复杂度,问题二就存在很大问题,因为我们左右滑动是切换栏目的,上拉是加载更多的,存在手势冲突。

    想了想,思维的火花一激发,我们的需求是用户把常用的模板置顶显示,只需要点击一个按钮后更新数据库时间戳,按照时间戳逆序显示就行了!Beautiful~巧用时间戳完美解决问题~


    二、流量优化策略

    后台返回更新时间戳成功的数据后,我们是不是应该刷新页面呢?NO!这样太耗流量了,其次,如果用户翻到的是后面几页,刷新后又回到第一页了,MyGod!我辛辛苦苦上拉加载这么多,一个置顶操作就全没了!这样既费流量占用服务器资源也影响用户体验。

    那么我们的解决方案是:置顶操作成功后,在模板列表DOM前面插入置顶的DOM元素,再删除旧的DOM元素,完全本地化操作,效果棒棒哒~

    核心代码如下:

    var temp_item=btn.parentNode.parentNode;
    document.getElementById("my_template_list").insertAdjacentHTML('afterBegin',temp_item.outerHTML);
    temp_item.remove();


    最终效果图如下:



    PS:如果本文章对您有所帮助,请点个赞让我知道哦~微笑


    展开全文
  • seo优化培训教程之企业网站SEO优化策略2009-08-02 10:45seo优化培训教程之企业网站SEO优化策略(2008-10-20 10:25:23) 标签:seo 企业网站 优化 策略 google 链接 更新 收录 it 分类:在线营销
    seo优化培训教程之企业网站SEO优化策略
    2009-08-02 10:45
    seo优化培训教程之企业网站SEO优化策略 (2008-10-20 10:25:23)

    现在很多朋友或多或少的都会接一些单子,帮企业站做产品排名。但这种站点,往往存在几个问题:网站建设粗糙,内容少,很少更新, 不好更新,不好找外链。

    以下就针对这些问题讲解企业站的SEO 优化策略。

    1. 很多中小型企业在网站规划建设的时候根本就没有足够的人力和财力去对网站进行规划,所以都选择一般的网建公司甚至个人做网站,这就给SEO 优化带来了很多麻烦。

    解决这种问题的方法可以分两步:1. 在目前粗糙网站基础上进行内部优化、页面优化、关键词优化,并在了解公司经营的情况下逐步准备网站改版方案;2. 优化效果显现并给客户带来实际利益后,说服客户更新网站。

    2. 对于只有几个页面的企业站来说,搭配一个优化得比较好的内容管理系统 做为资讯频道的补充是非常有用的。在对原来的站点进行修改的基础上,添加一个小巧的CMS 作为资讯频道,效果会比较好。如果连这个要求客户都不能满足,那么只能在客户服务资讯方面做些文章,比如将一些顾客来信及回复张贴在企业网站上。

    另外,如果有条件的话,在站内开一个博客, 做与企业站内容相关性非常高的博文, 每天更新这个博客, 也可以实现搜索引擎更新企业站的目的。

    3. 搭配一个小巧的资讯频道以及开设站内博客的方法同样也解决了企业站内容很少更新及不好更新的问题。

    4. 现在剩下的工作就是找外链了。这时就可以使用一些站外优化的技巧了。可以先在自己的行业群里交换友情,去一些相关的行业网站发布供求信息,多去博客和行业论坛发帖子吸引搜索引擎蜘蛛过来,等等。

    在站外建立博客, 特别是在一些权重比较高的大型博客站建立博客,在关键字出现的地方加站链,有时是非常高效的一种外链方式,而且还可以自己控制。

    找外链需要特别指出的是,很多做企业站的朋友一定遇到过这样的困难:商业性 相关的站点,特别是有商业利益冲突的站点,比如出售商品或者提供服务的站点,如 何去做链接?答案是:在没法链接商业性相关的站点时,链接可以不一定要跟同行做,可以考虑同企业站产品关联的上下游产品做链接,这样做不一定比跟同行做链 接的权重低。

    总之,企业站SEO 优化有其不同于其他类型网站的特殊性,在制定seo 优化策略时一定要在仔细分析的基础上再进行妥善的优化实施。

    展开全文
  • seo优化策略有哪些?

    千次阅读 2018-07-06 08:30:04
    seo优化策略有哪些? seo优化策略主要包括关键词优化、网站结构和内容优化、注重内链和外链的优化,这几点非常重要。 1.关键词的优化 关键词是搜索引擎优化的核心。 关键词的选择对于网站在搜索引擎中排名具有...

     seo优化策略有哪些?

      seo优化策略主要包括关键词优化、网站结构和内容优化、注重内链和外链的优化,这几点非常重要。

      1.关键词的优化

      关键词是搜索引擎优化的核心。

      关键词的选择对于网站在搜索引擎中排名具有关键作用。

      收集关键字:百度推广工具,百度下拉,相关搜索,百度统计用户搜索的词来整理你要的关键字。

      布局关键字:首页标题是关键,一般三到五个即可,重要的写在最前面。后面可以加网站名称或公司或品牌名。

      2.网站结构和内容的优化

      优化网站主要包括:网站结构优化、网站标签优化、网站页面优化,为的是让搜索引擎更容易搜索站长们的网站并且关注站长们想排名靠前的关键词。

      结构还是扁平结构,面包屑导航。

      

      内容切忌重复的无意义的内容。复制别人的都是搜索引擎不喜欢的。

      3.内链和外链的优化

      超链接将分散的网络连成一个整体,对于搜索引擎来说,一个网页被链接的次数和链接入网页的质量是体现网页重要性的一个非常重要的指标。

      内链:文章或产品页的优化,推荐文章,相关文章,上一条,下一条,文章内加一些相关的推荐的链接。

      外链:做一些高权重的外部链接,相关,最好能让百度收录的页面。坚持稳定的发布外链很重要。不要多,要精。


    展开全文
  • 单件转化成本CPA优化策略

    千次阅读 2015-08-17 11:54:18
    搜索营销中单件转化成本CPA优化是一个综合的优化过程,它涉及产品环境及周期,受众沟通策略,搜索关键词(也可以包括搜索媒体优化)及网站用户体验的优化。而媒体策略方面,如果是多个媒体结合推广,建议是以total ...
  • ”我觉得这句话问的非常好,这也是很多刚做SEO的人员比较迷茫的地方,没有一个完整的优化策略方案,而你在网上就是累死,也搜不到一些详细的网站优化策略方面的文档,今天郑州SEO老冯(冯东阳)就跟大家分享下,我是...
  • 网站站外优化策略

    千次阅读 2017-09-25 15:17:19
    站外优化指的是借助站外的平台来推广企业的产品或者服务,简称发外链,2015年开始,百度已经降低外链对于排名的作用,不能单纯的依靠外链的数量来支撑排名了,我们需要通过外链的质量来做排名。 我们需要发布外链的...
  • 数据库 SQL 查询技术的优化策略

    千次阅读 2012-06-06 15:59:33
    [摘要]在数据库系统中,数据查询是一项及其重要的操作。影响数据库系统性能的因素有很多,...在数据库应用系统中,相对于数据库其它操作,查询操作是最为重要的一部分, 在系统开发过程中,若不注重SQL的查询策略,往
  • 一切性能优化都是为了体验优化 1. 使用小程序时,是否会经常遇到如下问题? 打开是一直白屏 打开是loading态,转好几圈 我的页面点了怎么跳转这么慢? 我的列表怎么越滑越卡? 2. 我们优化的方向有哪些? ...
  • 由于Solr和ElasticSearch都是基于Lucene构建的,所以他们之间有很大程度的相似性,故而他们的一些优化策略基本也是通用的,面对越来越多的海量数据,如何优化全量索引的写入性能呢? 散仙简单总结了下面几个方向的...
  • oCPC实践录 | 成本优化策略之eCPC(1)

    千次阅读 2019-10-25 00:14:53
    我一直在忙着打破前面文章oCPC实践录 | 成本优化策略之CVR门槛(2)说的"CVR门槛"死局问题。在那里已经提到了,使用CVR门槛产品,广告主可以获取高转化流量,进而优化转化成本,但随着产品覆盖面逐步变大,广告主和...
  • 小数据包网络发送的优化策略

    千次阅读 2009-06-04 17:26:00
    产品开发过程中,曾遇到过小数据包发送效率较低的情况(被延迟发送200ms),总结策略有三种:策略1、使用 int flag = 1; int result = setsockopt(sock, /* socket affected */ IPPROTO_TCP, /* se
  • 看了看同类产品的相关设计,我预感这个功能会变成一个以地图为核心的可视化运输系统,这符合国内用户一贯的“大而全”的使用习惯,地图上的交互会更加复杂,需要展示的信息会越来越多,所以,这篇文章里提到的优化,...
  • 接着oCPC实践录 | 成本优化策略之eCPC(2)中的推论(2)推导eCPC的出价公式。先纠正下前文中推论(2)的表述,正确的表述为:如果要符合保转化成本的准则,只要保证媒体调整出价得到的回报投入比(ROI)不低于之前...
  • 上一篇文章主要介绍了HBase读性能优化的基本套路,本篇文章来说道说道如何诊断HBase写数据的异常问题以及优化写性能。和读相比,HBase写数据流程倒是显得很简单:数据先顺序写入HLog,再写入对应的缓存Memstore,当...
  • 当前数据中心TCO成本构成中,服务器及机柜成本是最大成本,约占总成本的54%左右,排在第二位的是供电和制冷,约占21%左右,从中可以看到,服务器成本优化对整个运营成本控制是有关键作用。 当前服务器发展趋势是...
  • zxing扫描二维码和识别图片二维码及其优化策略

    万次阅读 多人点赞 2016-08-30 14:47:54
    转自: 二维码介绍 Android中用于二维码相关的库比较少,并且大多数已经不再维护(具体可见https://android-arsenal.com/tag/81)。其中最常用的是zxing和zbar。 zxing项目是谷歌推出的用来识别多种格式条形码的...
  • ”我觉得这句话问的非常好,这也是很多刚做SEO的人员比较迷茫的地方,没有一个完整的优化策略方案,而你在网上就是累死,也搜不到一些详细的网站优化策略方面的文档,今天老冯(冯东阳)就跟大家分享
  • 并且在高级搜索页面进行第二次搜索时,实际上采用的仍然是首页搜索的机制,所以在考虑店铺优化时,可先暂时规避因为高级搜索规律所带来的复杂度,集中考虑普通搜索的三个规律的优化策略。 1、 标题的充分利用 ...
  • 面向中文专利信息的关系数据库检索优化策略研究及应用目 录1 引言... 32 中文专利信息检索优化概述... 42.1 中文信息检索的概念... 42.2 中文信息检索的现状... 42.3 中文专利信息检索概述... 52.3.1 中文专利...
  • ... import org.apache.ibatis.annotations.... //根据id查询successKilled并携带秒杀产品对象实体 SuccessKilled queryByIdWithSeckill(@Param("seckillId") long seckillId,@Param("userPhone")long userPhone); }
  • 是前端系统正常运行的基础和保证,一旦出现问题,会导致整个GIS信息系统完全瘫痪,造成的影响和损失是致命的,所以掌握企业级地理数据库的相关知识,解决在系统运行中的问题以及性能优化是地理数据库管理人员的首要...
  • 市场营销学9——产品策略

    千次阅读 2012-12-12 18:24:45
    1、什么是产品策略 产品策略是市场营销4P组合的核心,是价格策略、分销策略和促销策略的基础。从社会经济发展看,产品的交换是社会分工的必要前提,企业生产与社会需要的统一是通过产品来实现的,企业与市场的...
  • 关键词的矩阵策略 使用产品的长尾词,优化产品的长尾词,我们可以使用关键词的矩阵策略 鲜花:种类 玫瑰花 百合花 菊花 颜色 : 红色 白色 蓝色 数量 : 9朵 11朵 99朵 9朵红色玫瑰花互相交叉组合 以上就是...
  • 之 五---web 前端性能优化策略(长篇总结)  从 企业架构 上(见  http://blog.csdn.net/sun305355024sun/article/details/40920051 )来说, 企业架构 可以分为两大部分: 业务架构和IT架构 ,大...
  • 产品推广策略及促销策划

    千次阅读 2009-09-27 22:52:00
    产品推广策略及促销策划 & 课程背景一个成功的企业意味着它必然有一系列成功的产品:“飘柔”、“佳洁士”与宝洁,“红烧牛肉面”与康师傅,“幻影战斗机”与波导,“奥迪”“凯迪拉克”与大众等等都是成功产品与...
  • MySQL 对于千万级别的大表要怎么优化?如果已经达到了亿级别呢? 1、能不分就不分 2、数据量太大,正常的运维影响正常的业务访问 3、表设计不合理 4、某些数据表出现无穷增长 5、安全性和可用性的考虑 6、业务...
  • 用户生命周期价值及产品运营策略

    千次阅读 2019-07-02 14:07:47
    就可以有不同的策略制定,比如:针对生命周期价值低的用户进行定向广告和定向产品展示,针对高频次到访的成熟用户给予更多减少流失的策略,针对退化期用户积极的采取产品与服务方面的挽回弥补策略。 给予相对精准...
  • SAP ERP业务优化之组策略10计划解析

    千次阅读 2013-08-29 10:23:39
    如果能够掌握组策略及其相关应用,可以算得上是PP模块的一个准高手。在这篇文章中,笔者将为大家解析一下组策略10的特点以及应用过程中的注意环节。 一、组策略10的流程草图 以上就是采用计划策略10的业务流程草图...
  • 策略产品经理三问

    千次阅读 2017-08-20 23:32:06
    一、策略产品经理是谁 既然提到策略产品经理,首先要和设计产品经理区别开。 下面是他们的岗位对比对比: 1. 设计PM . 考虑点 : 需求+功能,功能是否能满足用户需求,能否契合用户场景,发现并解决用户的痛点,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 141,597
精华内容 56,638
关键字:

产品优化策略