首页
学习
活动
专区
圈层
工具
发布

MySQL 数据库设计经验总结

此文仅在数据库设计层面进行探讨,数据库的运维与底层调优不在讨论范围之内。 更丰富的知识可以在 MySQL 官网文档 查阅。...MySQL 官方文档 https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/index.html 基础知识 存储引擎 通常来说,我们做业务开发,指定存储引擎为...如果业务中需要使用 emoji 表情,那么就必须要设置为 utf8mb4 MySQL 可以在 Server 级、Database 级、Table 级、Column 级进行字符集的设置。...数据库设计 总则 命名以 "_" 分割 数据库层面还是推荐使用 "" 作为分割,这里多说几点:1、约定俗成。长久以来不仅 MySQL ,其他数据库也推荐使用 "",这是一种 SQL 规范。...MySQL supports the SQL standard integer types INTEGER (or INT) and SMALLINT.

1.7K30

数据库编程 MySQL 技巧与经验

要想解决这个问题,可以在当前的表设置引擎为InnoDB、PBXT或SolidDB,但这只是修改了这一个数据库,下次建新的数据库默认引擎还是MyISAM,我们可以在MySQL的安装目录下的配置文件my.ini...以更改 Mysql 默认引擎为 InnoDB为例步骤如下: 查看Mysql存储引擎情况: mysql>show engines,结果是: InnoDB | YES,说明此Mysql数据库服务器支持InnoDB...引擎; 设置InnoDB为默认引擎:在配置文件my.ini中的 [mysqld] 下面加入default-storage-engine=INNODB; 重启Mysql服务器; 登录Mysql数据库,mysql...(255) mysql> BEGIN mysql> IF ISNULL(S) THEN mysql> RETURN ''; mysql> ELSEIF N<15 THEN mysql>...(255) mysql> BEGIN mysql> IF ISNULL(S) THEN mysql> RETURN ''; mysql> ELSEIF N<15 THEN mysql>

1.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mysql数据库:最全MySQL数据库设计建库、建表规范及经验(踩过坑才能积累经验!)

    数据库设计规范 1.简介 数据库设计是指对一个给定的应用环境,构造最优的数据库模式,建立数据库及其他应用系统,使之能有效地存储数据,满足各种用户的需求。...这个过程就不错:数据库规划→需求分析→数据库设计→应用程序设计→实现→测试→运行于维护 2.1数据库规划 定义数据库应用系统的主要目标,定义系统特定任务,包括工作量的估计、使用资源、和需求经费,定义系统的范围以及边界...4.3数据库命名规范 数据库名称不需要简写,根据实际意义来命名。...(对于Student进行操作函数) 第二类命名:FN_[具体函数解释] 例如:FN_Spit(对字段进行拆分函数) 参考博客: 数据库设计规范 MySQL 规范 (数据库表设计规范) mysql的建表规范与注意事项...MySQL 数据库规范–设计篇 MySQL 数据库规范–开发篇 建表规范 很多是已经成文的内容,需要自己去理解,能看完这篇博客,相信你对数据库的设计,一定会有长进!

    3.4K30

    如何恢复MySQL数据库:我的经验之谈

    在日常工作中,我们可能会遇到各种原因导致需要重新安装MySQL。无论是由于系统故障、升级或其他原因,我们都希望在重装MySQL后能够顺利地恢复原有的数据库。...在这篇文章中,我将分享我的一些经验,帮助你在遇到类似情况时能够轻松地恢复MySQL数据库。1. 重新安装MySQL 首先,你需要下载并安装适合你操作系统的MySQL版本。...重启MySQL并完成数据加载 最后,重启MySQL服务。如果以上步骤都正确无误,你的数据库应该成功加载,所有的数据表和数据都应该像原来一样可以访问。...结论 数据库的恢复可能初看起来是一个复杂的过程,但只要你遵循上面的步骤并确保所有的配置都设置正确,恢复MySQL数据库应该是一个相对简单的任务。...希望我的经验能够帮助你在面对数据库恢复的时候更加自信和从容。

    1.1K10

    MySQL表设计经验

    4.选择合适的字段长度首选问大家一个问题,数据库字段长度表示字符长度还是字节长度?在mysql中,varchar和char类型表示字符长度,而其他类型表示的长度都表示字节长度。...对于大型数据库来说,这可能会导致磁盘空间的浪费。数据库设计复杂性:当表的字段数过多时,数据库的设计和维护变得更加复杂。这可能涉及到索引和关联表的设计,以确保数据的完整性和一致性。...11.避免使用MySQL保留字如果库名、表名、字段名等属性含有保留字时,SQL语句必须用反引号来引用属性名称,这将使得SQL语句书写、SHELL脚本中变量的转义等变得非常复杂。...对于MySQL来说,主要有date、datetime、time、timestamp和year。...15.SQL编写的一些优化经验避免使用SELECT * FROM 语句,应该只选择需要的列,以减少网络传输和提高查询性能。使用索引来提高查询速度,特别是在对大型表进行查询时。

    60210

    MySQL 性能测试经验

    作者 :何龙 一、背景 近期在进行资源调度管理平台的重构工作,其中的Resource/Property数据库设计,在没有更加优化的方案前,打算沿用当前平台的数据库结构;这就需要对当前平台的数据库结构进行剖析研究...官方介绍:http://dev.mysql.com/doc/refman/5.6/en/mysqlslap.html, 使用方法:http://my.oschina.net/moooofly/blog/...3、关键语句:考虑到资源平台的实际应用情况,通过资源属性查询资源的操作为主要操作,且这类操作的耗时占总操作耗时的比例为最大,故对应这类操作的查询语句为关键语句,对整个数据库性能影响很大,我们可以通过测试这个关键语句得出的结果来评估整个数据库的性能...然后将整个建表和存储数据的过程写进一个sql脚本中,并在mysql中运行这个脚本,待测试的表和数据就建立好了。...云数据库搬迁实例解析 MySQL数据库的高可用性分析 MySQL数据库设计总结

    11.3K31

    数据库使用经验分享

    今天王豆豆想给大家分享一下王豆豆在工作中使用数据库的经验。 数据库的重要性 数据库的使用频率与公司的产品和工作内容有很大关系。...以前王豆豆写过几篇数据库的系列文章中也提到过这个词,那这个使用方法是什么呢?...因为在实际工作中数据库经常使用到的表数据量是非常大的,对于在大量数据中查询到自己想要的数据,非常慢,这不仅对影响操作人的时间,而且如果同时操作的人多了,对数据库的性能非常有影响,特别是线上的数据库,王豆豆每次上线一个项目之后需要同步跟踪线上数据...,对线上数据库操作时更注意,不能太浪费数据库的性能。...作为软件测试人员不仅我们要熟练掌握数据库的使用和SQL语言,这样会大幅提升我们的工作效率,而且我们还需要对数据库中的数据保持高度的敏感,这是因为我们经常检查的就是数据,而正是这些数据决定了我们的功能或业务是否正确实现了

    1.3K50

    经验分享|MySQL分区实战(RANGE)

    概述分区概述在 MySQL 中, InnoDB存储引擎长期以来一直支持表空间的概念。在 MySQL 8.0 中,同一个分区表的所有分区必须使用相同的存储引擎。...但是,也可以为同一 MySQL 服务器甚至同一数据库中的不同分区表使用不同的存储引擎。通俗地讲表分区是将一大表,根据条件分割成若干个小表。MySQL 5.1开始支持数据表分区操作。...为了改善大型表以及具有各种访问模式的表的可伸缩性,可管理性和提高数据库效率,我们做出了表分区的概念。...这种类型的分区类似于分区 by HASH,只是只提供了一个或多个要评估的列,并且 MySQL 服务器提供了自己的散列函数。列分区。...数据库分区的一个非常常见的用途是按日期分隔数据。一些数据库系统支持显式日期分区,而 MySQL 在 8.0 中没有实现。

    1.3K01

    MySQL从库维护经验分享

    其实不只是主库需要多关注,从库有时候也要经常维护,本篇文章将会分享几点从库维护经验,一起来学习吧。...其中 server_uuid 是一个 MySQL 实例的唯一标识, transaction_id 代表了该实例上已经提交的事务数量,并且随着事务提交单调递增,所以 GTID 能够保证每个 MySQL 实例事务的执行...3.备份可在从库端进行 MySQL 全量备份会对服务器造成一定压力,有时也会短暂持有全局锁。特别是数据量大,业务繁忙的数据库,全量备份可能会对业务产生影响。...4.从库建议设为只读 对于数据库读写状态,主要靠 read_only 全局参数来设定,默认情况下,数据库是用于读写操作的,所以 read_only 参数是 0 或 false 状态。...总结: 本篇文章主要分享了个人关于从库维护的几点经验,若有错误,还请指正。其他同学若有相关经验或建议,也可以留言分享讨论哦。

    1.1K20

    数据库设计经验谈

    如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲。...所以我归纳历年来所走的弯路及体会,并在网上找了些对数据库设计颇有造诣的专业人士给大家传授一些设计数据库的技巧和经验。...一定要记住过去的经验教训!我们开发人员还应该通过分享自己的体会和经验互相帮助。...他们并不是数据库管理员,但是他们确定表内的键信息。这里设计人员或者数据库工作人员应该分析数据库结构从而确定出性能和正确输出之间的最佳条件。...测试需要在把新数据库投入实际服务之前完成。 检查设计 在开发期间检查数据库设计的常用技术是通过其所支持的应用程序原型检查数据库。

    1.4K40

    MySQL 学习经验、学习资源的分享

    前言:村民由于工作需要补一下 MySQL,本篇就分享一下自己的学习经验以及一些资料(村民知道自己一直在鸽)。 1....上图是安装过程中选择加密方式的截图,在 MySQL 8.0 中更新了加密方式,在这里提及是因为后面视频会有所涉及,同时也会影响到可视化工具 Navicat 连接数据库。...Navicat 有很多产品,根据不同数据库有 Navicat for MySQL,Navicat for MongoDB,Navicat for SQL Server 等,这些都是连接单一类型数据库的,...视频教程中演示安装的是 Navicat for MySQL,村民建议安装的是 Navicat Premium,可以连接不同类型的数据库。...这里村民想强调一点,那就是 MySQL 是关系型数据库,特别要注意多张表之间的联接关系,这一分P的标题——多表外键参照约束,也是在提醒我们要注意这一点。

    1.2K10

    踩坑经验 | Mysql导入emoji报错

    踩坑经验 | Mysql导入emoji报错 上周遇到了中文长度的问题之后,就想起了很久之前遇到的这个问题,也是一个和长度相关的问题。...上周末的推送讲了,在mysql中,中文是占3个字节的。而emoji比较特殊,占4个字符。...mysql默认使用的的UTF-8只支持三个字节的存储,而一般字符是三个字节,但是emoji表情是4个字节,所以存储不了。因此,有表情的字段上就有将该字段设置为utf8mb4。...根据各种资料收集的结果来看,不同版本的mysql对于设置这里是有细微的区别的。...数据处理技术分享、代码分享 周三:工作效率提升工具/技巧,办公自动化等 周四:读书笔记系列,分享读书心得和要点 周五:聊聊职场,包括但不限于求职面试 周六:随缘分享,内容不确定 周日:随缘分享一些技术踩坑经验

    73620

    MySQL索引实战经验总结

    MySQL索引对数据检索的性能至关重要,盲目的增加索引不仅不能带来性能的提升,反而会消耗更多的额外资源,本篇总结了一些MySQL索引实战经验。 索引是用于快速查找记录的一种数据结构。...索引就像是数据库中数据的目录,数据库在查询时,首先在索引中找到匹配的值,然后根据这个匹配值找到对应的数据行。...全文索引 MySQL从3.23.23版开始支持全文索引,它查找的是文中的关键词,而不是直接比较索引中的值。 单列索引 在单列上创建的索引。 组合索引 在多个列上创建的索引。...经验总结 列上进行函数计算将不会使用索引; 对于创建索引的列,避免存储NULL,NULL会使索引更加复杂、效率变低,可以使用NOT NULL进行约束; 对于模糊查询like '%abc%',将不会使用索引...关于索引的实战经验总结后续还会不断更新。

    1.1K80

    MySQL性能优化的21条经验

    为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。...这样一样,MySQL数据库引擎会在找到一条数据后停止搜索,而不是继续往后查少下一条符合记录的数据。 下面的示例,只是为了找一下是否有“中国”的用户,很明显,后面的会比前面的更有效率。...避免 SELECT * 从数据库里读出越多的数据,那么查询就会变得越慢。并且,如果你的数据库服务器和WEB服务器是两台独立的服务器的话,这还会增加网络传输的负载。...小心“永久链接” “永久链接”的目的是用来减少重新创建MySQL链接的次数。当一个链接被创建了,它会 永远处在连接的状态,就算是数据库操作已经结束了。...PHP手册:mysql_pconnect() 在理论上来说,这听起来非常的不错。但是从个人经验(也是大多数人的)上来说,这个功能制造出来的麻烦事更多。

    94580

    基于MySQL的分布式数据库TDSQL十年锻造经验分享

    腾讯数据库技术发展之路 我来自腾讯TEG计费平台部,一开始负责公司整个计费体系的存储系统研发,现在主要负责TDSQL数据库的研发。...一、核心特性 开源MySQL的玩法跟Oracle的确实有很大的差距,Oracle看起来就是一个高富帅,而MySQL看起来怎么也是一个经济适用男。...因为之前在行业内做分布式数据库的人认为,MySQL体系做不到数据零丢失或者是主备之间数据的一致性,但其实这个东西是没什么问题的,是完全可以做到的,看看我们是怎么做这个点的。...在故障检测这个点上,目前来看很难有统一的一个理论说怎么发现故障、怎么去切换,这是非常难的事情,更多还是经验方面的积累,我们秉承的原则还是:切换后,如果系统可用性能提升,才切,否则免切。...,就会有很多专家过来解决,在MySQL体系下还没有这样的方法去处理。

    1.9K30

    MySQL数据库(一):安装MySQL数据库

    安装环境: 操作系统版本:RHEL 6.5 安装版本:MYSQL 5.1 升级版本:MYSQL 5.6 一、简述MYSQL 1.什么是数据库?...DB DataBase :数据库 依照某种数据模型进行组织并存放到存储器的数据集合 DBMS DataBase Manager System :数据库管理系统 用来操作和管理数据库的大型服务软件...DBS DataBase System :数据库系统 即DB+DBMS指带有数据库并整合了数据库管理软件的计算机系统 2.E-R数据模型 3.常见数据库软件服务商 甲骨文:MYSQL...[确定] 6.登陆mysql并查询当前数据库 [root@svr5 mysql]# mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost...需要注意的是这里的root用户不是Linux系统的root用户,而是mysql数据库的管理员root。

    29.6K80

    【项目实战经验】一文搞懂云数据库PostgreSQL与MySQL实践案例

    目录大纲1.PostgreSQL简介2.MySQL Tinyint(1)与Tinyint(4):数据存储的大小差异与项目报错和解决3.MySQL事务管理Transaction rolled back because...报错解决与解析4.线上环境对roll back only 的处理 5.线上环境对嵌套事务的解决方案 6.11个demo分析事务失效的场景 7.分布式事务 8.事务也能异步选文出发点结合实际项目出发,从实际经验分享解决问题的真实经验...,落地应用,理念解析,任何天上飞的理念一定有落地的实现,没有落地的应用都是空谈,真正的解决像是那个问题,积累项目实战经验,欢迎订阅专栏图片PostgreSQL 简介PostgreSQL = Post...云数据库PostgreSQL的环境准备1、打开云文档云数据库 PostgreSQL_PostgreSQL数据库_开源关系型数据库_腾讯云 (tencent.com)2、来到管理控制台只需6步拥有自己的数据库...MySQL作为一种常用的关系型数据库,提供了多种数据类型供开发者选择。1.

    1.5K30

    【MySQL】数据库介绍以及MySQL数据库

    目录 数据库介绍 数据库概述 数据表 MySql数据库 MySql安装 登录MySQL数据库 ​​​​​​​SQLyog(MySQL图形化开发工具) 数据库介绍 数据库概述 什么是数据库(DB:DataBase...数据库的保护、维护 通信 数据库与数据库管理系统的关系 常见的数据库管理系统 MYSQL :开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。...SQLite : 嵌入式的小型数据库,应用在手机端。 上课会学:MYSQL 这里使用MySQL数据库。MySQL中可以有多个数据库,数据库是真正存储数据的地方。...表记录与java类对象的对应关系 数据库跟数据表的关系:一个数据库中可以有若干张表 MySql数据库​​​​​​​ MySql安装 安装 参考MySQL安装图解.doc 安装后,MySQL会以windows...也可以在DOS窗口,通过命令完成MySQL服务的启动和停止(必须以管理运行cmd命令窗口) 登录MySQL数据库 MySQL是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的root

    30.1K21
    领券