优化MySQL数据库性能的八大“妙手” (1)

转载 2006年06月23日 22:04:00

上一页 1 2 3 4 下一页

5、锁定表

  尽管事务是维护数据库完整性的一个非常好的方法,但却因为它的独占性,有时会影响数据库的性能,尤其是在很大的应用系统中。由于在事务执行的过程中,数据库将会被锁定,因此其它的用户请求只能暂时等待直到该事务结束。如果一个数据库系统只有少数几个用户
来使用,事务造成的影响不会成为一个太大的问题;但假设有成千上万的用户同时访问一个数据库系统,例如访问一个电子商务网站,就会产生比较严重的响应延迟。

  其实,有些情况下我们可以通过锁定表的方法来获得更好的性能。下面的例子就用锁定表的方法来完成前面一个例子中事务的功能。

LOCK TABLE inventory WRITE
SELECT Quantity FROM inventory
WHEREItem='book';
...
UPDATE inventory SET Quantity=11
WHEREItem='book';
UNLOCK TABLES

  这里,我们用一个 SELECT 语句取出初始数据,通过一些计算,用 UPDATE 语句将新值更新到表中。包含有 WRITE 关键字的 LOCK TABLE 语句可以保证在 UNLOCK TABLES 命令被执行之前,不会有其它的访问来对 inventory 进行插入、更新或者删除的操作。

  6、使用外键

  锁定表的方法可以维护数据的完整性,但是它却不能保证数据的关联性。这个时候我们就可以使用外键。例如,外键可以保证每一条销售记录都指向某一个存在的客户。在这里,外键可以把customerinfo 表中的CustomerID映射到salesinfo表中CustomerID,任何一条没有合法CustomerID的记录都不会被更新或插入到salesinfo中。

CREATE TABLE customerinfo
(
CustomerID INT NOT NULL ,
PRIMARY KEY ( CustomerID )
) TYPE = INNODB;

CREATE TABLE salesinfo
(
SalesID INT NOT NULL,
CustomerID INT NOT NULL,
PRIMARY KEY(CustomerID, SalesID),
FOREIGN KEY (CustomerID) REFERENCES customerinfo
(CustomerID) ON DELETECASCADE
) TYPE = INNODB;

优化MySQL数据库性能的八大“妙手”

本文探讨了提高MySQL 数据库性能的思路,并从8个方面给出了具体的解决方法。   1、选取最适用的字段属性   MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小...
  • xiaoxing1521025
  • xiaoxing1521025
  • 2014年07月14日 15:34
  • 337

【经典排序算法】八大排序对比总结

针对前面讨论的八大经典排序算法:冒泡排序、插入排序、选择排序、堆排序、归并排序、快速排序、希尔排序、桶排序。 关于各种什么时间复杂度,空间复杂度的对比总结,网上一大堆,别人也总结的很好,这里就不赘述了...
  • yeswenqian
  • yeswenqian
  • 2014年04月03日 20:52
  • 1531

ElasticSearch性能优化策略

一、服务器部署算法的基本思想 1、增加1-2台服务器,用于负载均衡节点 elasticSearch的配置文件中有2个参数:node.master和node.data。这两个...
  • mlljava1111
  • mlljava1111
  • 2016年04月21日 20:58
  • 677

Lucene底层原理和优化经验分享(2)-Lucene优化经验总结

系统优化遵从木桶原理:一只木桶能盛多少水,并不取决于最高的木板,而取决于最短的那块木板。Lucene优化也一样,找到性能瓶颈,找对解决方法,才能事半功倍,本文将从三方面阐述我们的Lucene优化经验:...
  • njpjsoftdev
  • njpjsoftdev
  • 2017年01月06日 09:21
  • 3901

优化Angular应用的性能

MVVM框架的性能,其实就取决于几个因素: 监控的个数数据变更检测与绑定的方式索引的性能数据的大小数据的结构 我们要优化Angular项目的性能,也需要从这几个方面入手。 1. 减少...
  • happyduoduo1
  • happyduoduo1
  • 2016年07月05日 14:38
  • 3490

Android开发性能优化总结(一)

安卓开发应用首先要讲究良好的用户体验,如果一款软件卡顿现象严重,不流畅,经常崩溃,那么将给用户带来极不良好的体验,从而损失用户。 在实际开发和学习中,我总结了一下关于安卓性能的优化,供大家参考交流。...
  • gs12software
  • gs12software
  • 2016年04月17日 16:04
  • 19712

MySQL性能优化的最佳21条经验

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据...
  • kaka1121
  • kaka1121
  • 2016年11月29日 17:09
  • 3192

App性能优化浅谈

前言前段时间给公司的小伙伴们进行了关于app性能优化的技术分享,这里我稍微整理一下也给大家分享一下,关于性能优化这个话题很大,涉及面可以很广,也可以很深入,本人能力有限,不会给大家讲特别难懂,特别底层...
  • wwj_748
  • wwj_748
  • 2015年12月16日 20:04
  • 10669

web前端性能优化总结

转自:http://www.2cto.com/kf/201604/498725.html          网站的划分一般为二:前端和后台。我们可以理解成后台是用来实现网站的功能的,比如:实现用户注...
  • ma_hoking
  • ma_hoking
  • 2016年05月21日 22:26
  • 30240

Web性能优化方法

如何提高web性能? 1、减少HTTP请求 一般来说要减少http请求通常从两个方面下手:减少图片的请求、减少脚本文件与样式表的请求 图片的减少通常有两种方式:css sprites、内联图片、...
  • u013372487
  • u013372487
  • 2015年12月17日 11:31
  • 1905
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:优化MySQL数据库性能的八大“妙手” (1)
举报原因:
原因补充:

(最多只允许输入30个字)