如何加快你网站的数据库
网站的速度一直是一个大问题,它已成为谷歌决定更重要,因为2010年4月,当 使用它的搜索排名 。 但是,讨论的焦点是普遍减少文件大小,提高服务器的设置和优化CSS和JavaScript。
讨论掩盖了另一个重要的因素:速度,你的网页实际上是把你的服务器在一起。 多数大商店的现代网站数据库中的信息,并使用如PHP或ASP语言提取它,它转成HTML并将其发送到Web浏览器。
所以,即使你得到您的主页下降到1.5秒(谷歌的门槛,被认为是一种“快”网站),您仍然可以阻挠客户,如果您的搜索网页需要太多的时间来回答,或者如果产品页面快速加载,但“客户审查”延迟几秒钟。
Performance in Speeding Up Your Website’s Database
谷歌的一个快速加载网站阈值约为1.5秒。 这个截图来自谷歌网站管理员工具(去[域名]→诊断→网站性能)。
本文着眼于这些各种各样的问题,并介绍一些简单的方法,以加快您的数据库,通过优化您的网站。 它以普通知识,而且包括在最后更复杂的技术,以进一步阅读整个环节。 这篇文章是为无畏数据库初学者,谁已经扔在深结束设计师。
什么是数据库? 什么是SQL?
数据库基本上是一个命令收集表的信息,例如,作为客户名单。 这可能是一个文件柜,一个电子表格一堆,一个Microsoft Access文件或 亚马逊的40 TB的数据,图书和客户 。
一个典型的博客数据库已为用户意见表,类别,职位和。 WordPress包含 这些和其他一些 首发表。 一个典型的电子商务网站数据库的电子表格有项目,为客户,产品,类别,订单和订单(购物篮的内容)。 在开源的电子商务软件的Magento包括 这些和许多其他 。 数据库有很多其他用途-如内容管理,客户关系,帐目和发票和事件-但是这两个网站)普通型(即一个博客和电子商务将在本文章中引用。
一个数据库中的某些表的连接到其他表。 例如,一个博客帖子可以有很多意见,使这些客户可以有多个订单( 一到多的 关系)。 该数据库关系最复杂的类型是 多到许多 的关系。 一个关系数据库是商业的核心在所有电子邮件:订单可以包含许多产品,单一产品可以添加到许多不同的订单。 这是那里的“订单项目”表进来:它位于订单和产品之间的,它记录每一次产品添加到订单。 这将是后来在有关的文章,当我们看看为什么慢一些数据库查询。
这个词 的数据库 软件也指的是包含所有这些数据,如“我的数据库崩溃,而我正在吃早饭,”或“我真的需要升级我的数据库。”流行的数据库软件包括Microsoft Access 2010,微软SQL服务器, MySQL,PostgreSQL和Oracle数据库11g。
首字母缩写出现了很多的SQL数据库处理时。 它指的是“结构化查询语言”,发音是“续集”或使用要求,并告诉数据库事情“ES中,语言提示- el的。”这是-令人激动的事情,比如 从客户选择姓氏的WHERE城市='布莱顿 。 这就是所谓的 数据库查询 ,因为它会查询数据库中的数据。 还有其他类型的数据库语句: 插入 规划,使得新的数据, 更新 现有的数据更新, 删除 的删除的东西, 的CREATE TABLE 创建表, 表的ALTER 和许多更多。
怎一个数据库慢的网站?
一个全新的网站将空运行速度非常快,但它的增长和年龄,你可能会注意到在某些页面,特别是功能复杂的位某些页面呆滞。假设你想显示“谁购买该商品的顾客也买了...”在页面底部的产品。 为了从数据库中提取此信息,你需要做到以下几点:
开始与现有产品,
看看有多少次的产品,最近被添加到任何人的购物篮(以下简称“订单项目”从上面表),
看看这些购物篮相关的命令(对于已完成的订单只),
寻找客户是谁的命令,
看看这些客户的其他命令,
在这些订单'花篮的内容看(“订单项目”再一次),
查一查这些产品的细节,
识别产品最经常出现并显示它们。
你可以,事实上,做一个庞大的数据库查询所有这一切,也可以分解成几个不同的查询。 无论哪种方式,运行速度非常快,可能当你的数据库有20个产品,12个客户,18目和67个订单项目(即在购物篮的项目)。 但如果不写和编程效率,那么这将是慢了很多与500种产品,1万个客户,订单和14,000 100,000订单项目,它会减慢网页。
这是一个非常复杂的例子,但它表明什么样的东西去幕后为什么一个看似无害的功能位可以磨到一个停止网站。
一个网站可能会减慢许多其他原因:在服务器上运行的内存或磁盘空间较少,另外在同一台服务器消耗资源网站,服务器发送了大量邮件或搅动了一些其他的任务,一个软件,硬件或网络故障,一个配置错误。 或可能突然变成一个受欢迎的网站。 接下来的两部分,因此,将着眼于速度在更多的细节。
是我的数据库?
现在有几种方法来分析您网站的速度,包括 Firebug的插件 用于Firefox,谷歌浏览器开发工具(按Shift +控制+ i,然后去资源→启用资源跟踪)和 雅虎YSlow的 。 也有网站,如 WebPagetest ,在这里你可以输入一个网址,它会时间地点,使其从您选择。
所有这些工具将显示您的所有图的各种资源(HTML,图片,CSS和JavaScript文件)用你的网页以及各花了多少时间来加载。他们还将打破采取执行DNS查找(即转换成IP地址的域名)的时间,采取连接到服务器的时间,所用的时间等待你的服务器答复(又名“第一时间字节“),并接受所花费的时间(即下载)的数据。
许多网页在其整体构造由Web服务器,包括由PHP访问数据库,然后发送到浏览器全部一次,因此任何数据库的延误将导致漫长的等待时间,接收/下载时间会是成正比的发送的数据量。 所以,如果你的20 KB的HTML页的快速连接,等待5秒的时间和0.05秒下载时间,那么延迟会出现在服务器,如正在兴建中的页面。
并非所有的网页都是这样的,虽然。 PHP的 冲洗 功能强制服务器发送的HTML,它已建成的浏览器的时候了。 任何进一步的拖延会便可以接收时间,而不是等待的时间。
无论哪种方式,你可以 比较的等待/接收时间 (或静态图像或其他资源)在同一台服务器上为您怀疑缓慢而复杂的等待时间是指一个同样大小的HTML页面的Web页面在同一时间。 这将排除连接可能性的互联网速度较慢或超载服务器(两者都将造成延误),并且允许你比较时代所采取的网页建设。 这不是一门精确的科学,但它应该给你一些迹象的,事情就被关押。
下面的屏幕截图显示了分析谷歌Chrome的开发工具提供了一个20 kb的形象与一个20 kb的网页。 该网页等待130毫秒(ms)和22毫秒下载。 该图像等待51毫秒和11毫秒下载。 该下载/接收倍左右预期一样的,都是,但服务器上的开支约为80毫秒加工,建设网页,这需要执行PHP和数据库的额外要求。
当执行这些测试,分析了自身的静态资源,并点击“刷新”,让你没有得到一个快速的缓存版本。 此外,每一个运行几次,确保你不是在寻找一个统计异常。 下表显示WebPagetest表明几乎一倍,在同一时间同一页上展示了谷歌的时间,第三屏幕,使用相同的所有测试环境是重要的。
创新互联建站制作网站网页找三站合一网站制作公司,专注于网页设计,成都网站设计、成都网站制作,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为成百上千服务,创新互联建站网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!
文章标题:如何加快你网站的数据库
网站地址:http://ybzwz.com/article/scieoe.html