当前位置:首页百负载之SQL数据库的优化 举报文章

百负载之SQL数据库的优化

作者:admin    来源:用户投稿    时间:2015.6.11   

  在考虑一个网站如果承载日百甚至千pv时,我们往往本能的往两个方向考虑:静态化及分布式。 固然,对于新浪等门户类型的网站来说,静态化+读写分离及分布式,可以解决大多数的问题。可是我们面临的更多的,可能是大数据+高并发+实时读取,而静态化的固定性便很难解决这个问题。

  比如矮个芝麻最近接到的一个电子商务类的网站,流量大,数据量大,同时要求实时更新,因为首页以及内容页往往每时每刻都在变化着。 这个时候我们就不得不查询数据库,也就需要针对数据库作出一些特定的优化。

  优化建议:

  1)表结构的优化

  通过对表结构的优化,往往可以直接的降低数据库的压力。常见的方法比如建索引,拆表,适当冗余扁平化。 索引的作用最为直接,通过B+树轻松实现类似于将一张表划分为几百张表的效果,在进行查询时,往往链表查询需要十次才能查询到的数据,加了索引之后或许只需要四次就可以解决。

  当然不要过分的增加索引,因为会一定程度上增加数据库的负担。 同时说一个很有意思的问题,如何实现身份证查询系统?我们往往知道,身份证的前几位决定了这个人的所在地,出生年月等可见信息,然后才是几位随机数。而且应该有发现一个问题,那就是只有在户口所在地才能登记身份证,这就是拆表查询。公安系统只需要查询当地数据库下该生日及随机数是否有重复,就可以判断全国是否有重复的身份证了。

  最常用的方法是,将一个月内的活跃用户单独设为一个表,这样每次用户登录,其实只是查询了当月的用户,可以有效的提高查询效率.

  2)sql语句的优化

  sql语句的优化往往要直白很多,就是尽量减少like查询,关联查询等资源消耗比较大,查询量比较大的sql语句,即可,整理了几条如下:

  1.减少不必要的like查询,尽量通过建关键词表实现like查询的效果

  2.减少关联查询,尽量通过左链接右链接的形式实现查询

  3.复杂的查询语句使用储存过程解决.

  4.减少不必要的查询.

  5.避免在索引列上使用IS NULL和IS NOT NULL

  6.尽量避免使用耗费资源的操作:带有DISTINCT,UNION,MINUS,INTERSECT,ORDER BY的SQL语句会启动SQL引擎

  7.不要使用SELECT *,尽量指明要显示的列

  8.不要使用INSERT导入大批的数据 请不要这样做,除非那是必须的。使用UTS或者BCP,这样你可以一举而兼得灵活性和速度。

  3)程序段的优化尤为重要

  程序段根据不同的用户需求进行优化,尤为重要.

  最常见的案例就是,当查询列表时,只查询出标题名及简介就可以解决问题.当用户打开该文章后,才会查询该文章的文章内容,评论,发表人信息等关联表的内容.这样可以在很大程度上降低程序的负担.

  尽量通过ajax,在有必要的情况下进行后台查询,而不是在打开页面的时候就进行相关的查询.

  另外,最为重要的一点就是,尽量实现静态化.

  一般对于cms类型的网站来说,静态化可以解决大多数的问题.而后需要查询数据库的无非就是搜索,用户会员中心的相关操作.

  而搜索是可以通过读写分离异步操作的,这样就可以有效的降低服务器的压力.

  当然,还有更多更有效的方法,只是今天突然兴起整理一下,有问题可以和矮个芝麻一起沟通哦~

好文打赏,给Ta鼓励
扫一扫用手机阅读本文
Tags:百万  负载  数据  数据库  优化  
  • 相关搜索
图片推荐
    母婴电商集体抱大腿 京东聚美都被傍上

    母婴电商集体抱大腿 京东聚美都被傍上

    [摘要]母婴电商行业竞争激烈,各个平台的压力都不小,母婴行业的特性决定了电商平台必须扩充品类增强市场竞争,与电商巨头合作可实现巨大补充。    北京商报讯(记者 李铎 孙麒翔)继红孩子被苏宁收购,蜜芽
    川大校长毕业致辞:不要把精力耗费在刷微信上

    川大校长毕业致辞:不要把精力耗费在刷微信上

    25日,四川大学2015届本科毕业典礼,校长谢和平致辞  昨日上午,四川大学望江校区的体育场内,举行了四川大学2015届本科毕业暨学士学位授予典礼。  毕业典礼上,校长谢和平的致辞很时尚,引用了很多当
    seo标题优化:我见过最牛逼的SEO标题是这样做的!

    seo标题优化:我见过最牛逼的SEO标题是这样做的!

    作为博客的我们,大多使用博客文章来排名,少部分可能受个别培训机构的影响,做地区+SEO这类词,至于那一类的人,我们暂且不考虑,那么我们在写文章的时候都是怎么写标题呢?  我曾经在写SEO文章中提到过这
    那些从微信小程序内测中泄露出来的样子

    那些从微信小程序内测中泄露出来的样子

    11月3日,微信小程序正式开放公测,本着只要与微信有关就刷爆朋友圈的原则,微信小程序也再次不负众望的刷屏了,随小编一起来看看这些参与内测小程序的开发者们爆出的微信小程序模样。  官方说法  小程序是一
    12.09网络诈骗案细节:500余嫌犯多为同一家族

    12.09网络诈骗案细节:500余嫌犯多为同一家族

    警方抓获1209专案犯罪嫌疑人(警方供图)  中新网南京12月22日电(刘林 姜传伟 李沂瑞)近日,江苏省宿迁市公安局湖滨新区分局在侦办一起7000元的诈骗案中,发现了一个庞大的通讯网络诈骗团伙,案件
    追赶腾讯、阿里巴巴 百度投资了百姓网

    追赶腾讯、阿里巴巴 百度投资了百姓网

    此前李彦宏宣布,三年内将砸200亿给百度糯米玩生态。加上此轮投资百姓网,BAT中的百度希望加快在O2O领域追赶腾讯和阿里巴巴的节奏。    图片来源:CFP  界面新闻记者7月6日获得消息,百度已投资
    断网的威力有多大?2015年至少损失24亿美元

    断网的威力有多大?2015年至少损失24亿美元

    北京时间10月25日上午消息,每当我们在使用App时遇到互联网无法访问或受限时,都会不以为然地摇摇头,因为无计可施。不过,网络崩溃的代价到底有多大?布鲁金斯研究所(Brookings Institut
    老板,如果建网站,你会喜欢哪一种网站风格呢?

    老板,如果建网站,你会喜欢哪一种网站风格呢?

    随着智能建站的普及,越来越多的中小企业已经开始自己动手建站了。既然自己动手建站,当然希望能做出一个个性十足、与众不同的企业网站,但也由于自己动手建站,缺乏专业知识,往往做出来的效果不尽人意,怎么办呢?
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面