方法一

使用连接来代替子查询(Sub-Queries)。可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中。

DELETE  FROM  customerinfo
WHERE  CustomerID  NOT  in  (SELECT customerid  FROM  salesinfo)

方法二

事务。不是所有的数据库操作都可以只用一条或少数几条SQL语句就可以完成的。更多的时候是需要用到一系列的语句来完成某种工作。可以保持数据库中数据的完整性和一致性

BEGIN;INSERT   INTO   salesinfo   SET   customerid=14;UPDATE   inventory   SET   quantity =11   WHERE   item='book';
COMMIT;

方法三

锁定表。由于在事务执行的过程中,数据库将会被锁定,因此其他的用户请求只能暂时等待直到该事务结束。有些情况下我们可以通过锁定表的放大来获得更好的性能。

LOCK TABLE inventory WRITE SELECT quantity  FROM   inventory   WHERE Item='book';
...
UPDATE   inventory   SET   Quantity=11   WHERE  Item='book';UNLOCKTABLES

方法四

使用外键。锁定表的方法可以保护数据的完整性,但是却不能保证数据的关联性。

CREATE  TABLE   customerinfo( customerid   int primary key) engine = innodb;
CREATE  TABLE   salesinfo( salesid int not null,customerid  int not null, primary key(customerid,salesid),foreign key(customerid)  references  customerinfo(customerid) on delete cascade)engine = innodb;

方法五

使用索引。
索引是提高数据库性能的常用方法,它可以令数据库服务器以比没有索引快得多的速度检索特定的行,尤其是在查询语句当中包含有MAX(),MIN()和ORDERBY这些命令的时候,性能提高更为明显。
那该对哪些字段建立索引呢?
一般说来,索引应建立在那些将用于JOIN,WHERE判断和ORDERBY排序的字段上。尽量不要对数据库中某个含有大量重复的值的字段建立索引。对于一个ENUM类型的字段来说,出现大量重复值是很有可能的情况
例如customerinfo中的“province”…字段,在这样的字段上建立索引将不会有什么帮助;相反,还有可能降低数据库的性能。我们在创建表的时候可以同时创建合适的索引,也可以使用ALTERTABLE或CREATEINDEX在以后创建索引。此外,MySQL从版本3.23.23开始支持全文索引和搜索。全文索引在MySQL中是一个FULLTEXT类型索引,但仅能用于MyISAM类型的表。对于一个大的数据库,将数据装载到一个没有FULLTEXT索引的表中,然后再使用ALTERTABLE或CREATEINDEX创建索引,将是非常快的。但如果将数据装载到一个已经有FULLTEXT索引的表中,执行过程将会非常慢。

方法六

选取最适用的字段属性。MySQL可以支持大数据量的存取,但是数据库中的表越小,在上面执行的查询就越快。所以可以将表中的字段宽度设置的尽可能小

MySQL数据库优化的几种方式相关推荐

  1. MySQL数据库优化的几种方式(笔面试必问)

    作者平台: | CSDN:blog.csdn.net/qq_4115394- | 掘金:juejin.cn/user/651387- | 知乎:www.zhihu.com/people/1024- | ...

  2. 视频教程-怎么架构生产数据库--生产数据库优化的一种方式-MySQL

    怎么架构生产数据库--生产数据库优化的一种方式 运维经理,高级架构师.曾任职于NEC软件.海尔B2B平台巨商汇,负责企业数据平台构建.B2B电商平台数据管理与搭建.企业运维管理平台搭建.拥有丰富DBA ...

  3. MySQL 性能优化的 9 种方式

    1.选择最合适的字段属性 Mysql是一种关系型数据库,可以很好地支持大数据量的存储,但是一般来说,数据库中的表越小,在它上面执行的查询也就越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表 ...

  4. 数据库优化的八种方式

    优化Mysql数据库的8个方法 本文通过8个方法优化Mysql数据库:创建索引.复合索引.索引不会包含有NULL值的列.使用短索引.排序的索引问题.like语句操作.不要在列上进行运算.不使用NOT ...

  5. MySql数据库备份的几种方式

    活动地址:CSDN21天学习挑战赛 mysqldump工具备份 备份整个数据库 $> mysqldump -u root -h host -p dbname > backdb.sql 备份 ...

  6. mysql数据库优化的几种方法

    1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽 ...

  7. 数据库优化的几种方式

    数据库的优化有很多方式,下面介绍一下数据库的优化方式. 1.选取最适用的字段属性.MySQL可以支持大数据量的存取,但是数据库中的表越小,在上面执行的查询就越快.所以可以将表中的字段宽度设置的尽可能小 ...

  8. python操作数据库的几种方法_python对mysql数据库操作的三种不同方式

    原标题:python对mysql数据库操作的三种不同方式 |转载自:博客园 |原文链接:http://www.cnblogs.com/mryrs/p/6951008.html 先要说一下,在这个暑期如 ...

  9. mysql 的几种缓存_数据库缓存的几种方式

    数据库缓存的几种方式 引入缓存可以提高性能,但是数据会存在两份,一份在数据库中,一份在缓存中,如果更新其中任何一份会引起数据的不一致,数据的完整性被破坏了,因此,同步数据库和缓存的这两份数据就非常重要 ...

  10. mysql数据库优化大全_MySQL数据库优化技巧大全

    简介: MySQL数据库优化技巧大全 MySQL优化三大方向 ① 优化MySQL所在服务器内核(此优化一般由运维人员完成). ② 对MySQL配置参数进行优化(my.cnf)此优化需要进行压力测试来进 ...

最新文章

  1. js的闭包与原型记录
  2. linux系统中ntp服务监听端口是,Linux系统下测试UDP端口是否正常监听的办法
  3. VS2010 不能将参数 2 从“char [20]”转换为“LPCWSTR”的错误解决
  4. 24岁博士毕业,受聘211高校副教授,90后开挂背后是自律和坚持
  5. python列反过来_xlwings 教程:使用Python更快速地处理Excel
  6. [转载]jquery cookie的用法
  7. 洛谷 1341 无序字母对
  8. 【MySQL】MySQL 查询优化器的提示(hint)
  9. 绝美自然风光风景壁纸,心旷必然神怡
  10. 服务器控件的使用注意事项
  11. c# textbox和listbox多行显示
  12. MyBatis官方文档——动态SQL部分
  13. python获取百度迁徙大数据
  14. python属于哪种类型_下列哪种类型是Python的列表类型?
  15. c语言long可以存几位数,long long 可以支持多少位的数?
  16. PHP Paypal支付+退款全流程
  17. 机器人工程行业算制造业吗
  18. 团队协作之 Git 提交
  19. 三星公司的开会流程--绝对值得一看
  20. 有道云笔记Markdown编辑器 基础操作使用说明

热门文章

  1. 忆往昔,惜光阴似箭,不堪回首
  2. Python学习之字典详解
  3. 跟我一起来用C++写Web服务器吧
  4. 智慧型数据中心露峥嵘
  5. 存储过程与SQL语句如何选择
  6. Hibernate不能自动建表解决办法【转载】
  7. Windows Phone 项目实战之账户助手
  8. 七种场景下的软件作业量估计
  9. 6.RabbitMQ实战 --- 从故障中恢复
  10. 12. CSS 字体