方法一

使用连接来代替子查询(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. 推荐三款scrum看板协作工具
  2. converter 迁移xen server 上的虚拟机 到 wmware esxi
  3. python3 Number List 元组 字典 用法区分和总结
  4. Softmax到AMSoftmax(附可视化代码和实现代码)
  5. oracle递归查询(查询条件ID下得所有子集)
  6. Android通过PHP服务器实现登录
  7. python教程:如何写类?
  8. Nginx静态资源优化配置之tcp_nopush和tcp_nodelay
  9. 计算机科学家Erik Meijer眼中的Hacker Way工作方式
  10. 广东工业大学专项设计_2020年广东工业大学本科招生计划发布!
  11. c语言自动拷贝u盘文件,写了一个偷偷拷贝老师U盘所有文件的程序……蛋疼……………...
  12. Android中Bitmap缓存池
  13. python控制视频_控制Python面向对象的访问
  14. 第七讲:工业网络——PST软件使用及web配置
  15. 动手学数据分析之数据加载及探索性数据分析
  16. c# 角度和弧度的转换
  17. ionic ActionSheet(上拉菜单)
  18. 视频播放可弹出弹幕,关闭弹幕
  19. 学习LSSVM以及区别LSSVM和SVM看的几篇博文
  20. ACwing 895 - 最长上升子序列(最长上升子序列模型)

热门文章

  1. 用户控件中复杂属性的设计时支持
  2. 用足球阵型告诉你,阿里云如何护航全网70%世界杯流量 1
  3. Codevs 均分纸牌(贪心)
  4. FastDFS配置Nginx模块
  5. 百度站内搜索应该注意哪些方面?
  6. 6.程序员的自我修养---可执行文件的装载与进程
  7. 37. 重定向 21
  8. php中的date()函数d y m l等字母的表示方法
  9. “购物比价类”Target SDK≥26优秀应用展示
  10. .net Cache 需要注意的地方