开发/数据库

  |  手机版

收藏网站

投稿QQ:1745232315

IT专家网,汇聚专业声音 解析IT潮流 IT专家网,汇聚专业声音 解析IT潮流

网络

专家视点在现场环球瞭望
IT专家网 > 开发/数据库

关于MySQL数据库的这几大技巧,你都了解吗?

作者:51CTO出处:论坛2018-10-23 16:25

  今天要为大家介绍一下关于MySQL数据库的九大技巧,希望对大家有所帮助。

  01 如何快速掌握MySQL?

  培养兴趣

  兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率。当然学习MySQL 5.6也不例外。

  夯实基础

  计算机领域的技术非常强调基础,刚开始学习可能还认识不到这一点,随着技术应用的深 入,只有有着扎实的基础功底,才能在技术的道路上走得更快、更远。对于MySQL的学习来说, SQL语句是其中最为基础的部分,很多操作都是通过SQL语句来实现的。所以在学习的过程中, 读者要多编写SQL语句,对于同一个功能,使用不同的实现语句来完成,从而深刻理解其不同之处。

  及时学习新知识

  正确、有效地利用搜索引擎,可以搜索到很多关于MySQL 5.6的相关知识。同时,参考别 人解决问题的思路,也可以吸取别人的经验,及时获取最新的技术资料。

  多实践操作

  数据库系统具有极强的操作性,需要多动手上机操作。在实际操作的过程中才能发现问题, 并思考解决问题的方法和思路,只有这样才能提高实战的操作能力。

  02 如何选择服务器的类型?

  MySQL服务器配置窗口中各个参数的含义如下。

  【Server Configuration Type】该选项用于设置服务器的类型。单击该选项右侧的向下按钮, 即可看到包括3个选项。

  3个选项的具体含义如下:

  Development Machine(开发机器):该选项代表典型个人用桌面工作站。假定机器上运行 着多个桌面应用程序。将MySQL服务器配置成使用最少的系统资源。

  Server Machine (服务器):该选项代表服务器,MySQL服务器可以同其它应用程序一起 运行,例如FTP、email和web服务器。MySQL服务器配置成使用适当比例的系统资源。

  DedicatedMySQL Server Machine (专用 MySQL 服务器):该选项代表只运行MySQL服务的服务器。假定运行没有运行其它应用程序。MySQL服务器配置成使用所有可用系统资源。作为初学者,建议选择【DevelopmentMachine】(开发者机器)选项,这样占用系统的资源 比较少。

  03 如何选择存储引擎

  不同存储引擎都有各自的特点,以适应不同的需求,如下表所示。为了做出选择:

  首先需 要考虑每一个存储引擎提供了哪些不同的功能。如果要提供提交,回滚和崩溃恢复能力的事务安全(ACID兼容)能力,并要求实现并发控 制,InnoDB是个很好的选择。如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较 高的处理效率;如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果。如果只有INSERT和SELECT操作,可以选择Archive引擎,Archive存储引擎支持高并发的插 入操作,但是本身并不是事务安全的。Archive存储引擎非常适合存储归档数据,如记录日志信 息可以使用Archive引擎。

  使用哪一种引擎要根据需要灵活选择,一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求。

  使用合适的存储引擎,将会提高整个数据库的性能。

  04 如何查看默认存储引擎?

  使用SHOW ENGINES语句查看系统中所有的存储引擎,其中包括默认的存储引擎。可以看出来当前数据库系统中有五种存储引擎,默认是MyISAM。还可以使用一种直接的方法查看默认存储引擎。执行结果直接显示了当前默认的存储引擎为MyISAM。

  05 表删除操作须谨慎

  表删除操作将把表的定义和表中的数据一起删除,并且MySQL在执行删除操作时,不会有 任何的确认信息提示,因此执行删除操时,应当慎重。在删除表前,最好对表中的数据进行备份, 这样当操作失误时,可以对数据进行恢复,以免造成无法挽回的后果。

  同样的,在使用ALTER TABLE进行表的基本修改操作时,在执行操作过程之前,也应该 确保对数据进行完整的备份,因为数据库的改变是无法撤销的,如果添加了一个不需要的字段, 可以将其删除;相同的,如果删除了一个需要的列,该列下面的所有数据都将会丢失。

  06 每个表中都要有一个主键吗?

  并不是每一个表中都需要主键,一般的,如果多个表之间进行连接操作时,需要用到主键。 因此并不需要为每个表建立主键,而且有些情况最好不使用主键。

  07 每个表都可以任意选择存储引擎吗?

  外键约束(FOREIGN KEY)不能跨引擎使用。MySQL支持多种存储引擎,每一个表都可 以指定一个不同的存储引擎,但是要注意:外键约束是用来保证数据的参照完整性,如果表之间 需要关联外键,却指定了不同的存储引擎,这些表之间是不能创建外键约束的。所以说,存储引 擎的选择也不完全是随意的。

  08 带AUTO_INCREMENT字段值是从1开始吗?

  默认的,在MySQL中,AUTO_INCREMENT的初始值是1,每新增一条记录,字段值自动加1。设置自增属性(AUTO_INCREMENT)的时候,还可以指定第一条插入记录的自增字段的 值,这样新插入的记录的自增字段值从初始值开始递增,如在tb_emp8中插入第一条记录,同时 指定id值为5,则以后插入的记录的id值就会从6开始往上增加。添加唯一性的主键约束时, 往往需要设置字段自动增加属性。

  09 TIMESTAMP与DATATIME两者的区别

  TIMESTAMP与DATETIME除了存储字节和支持的范围不同外,还有一个最大的区别就是: DATETIME在存储日期数据时,按实际输入的格式存储,即输入什么就存储什么,与时区无关; 而TIMESTAMP值的存储是以UTC(世界标准时间)格式保存的,存储时对当前时区进行转换, 检索时再转换回当前时区。即查询时,根据当前时区的不同,显示的时间值是不同的。

      希望以上知识能够帮助到有所需要的人。

相关文章

关键词:MySQL数据库,MySQL,MySQL技巧

责任编辑:林音子

网警备案