MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。
mysql使用规范你觉得都有什么?
- 合理存储引擎选择
- 合理选择字符集
- 表sql语句必须加注释
- 禁止使用存储过程、视图、触发器、event
- 禁用TEXT\BLOB,如果必须使用,不要和主表在一起。
- 禁止使用外键
- 遵循命名规范
- 使用域名链接数据库
- 注意单表列数,禁止大宽表
- 结合业务考虑
在建立索引的时,需要考虑哪些因素?
- 建立唯一索引。唯一索引能够更快速地帮助我们进行数据定位;
- 为经常需要进行查询操作的字段建立索引;
- 对经常需要进行排序、分组以及联合操作的字段建立索引;
- 在建立索引的时候,要考虑索引的最左匹配原则(在使用SQL语句时,如果where部分的条件不符合最左匹配原 则,可能导致索引失效,或者不能完全发挥建立的索引的功效);
- 不要建立过多的索引。因为索引本身会占用存储空间;
- 如果建立的单个索引查询数据很多,查询得到的数据的区分度不大,则考虑建立合适的联合索引;
- 尽量考虑字段值长度较短的字段建立索引,如果字段值太长,会降低索引的效率。
数据库的三范式
数据库的三范式是一系列设计原则,用于指导关系数据库的设计,以确保数据结构的合理性、减少冗余和提高数据的一致性。以下是具体介绍:
- 第一范式:要求表中的每一列(属性)都应该是原子性的,即数据不可再分,每个字段只包含单一的值。这有助于确保每一条记录都是独立的,避免出现多值或复杂类型字段的情况。
- 第二范式:在满足第一范式的基础上,要求表中的所有非主键列都必须完全依赖于主键,而不是依赖于主键的一部分。这意味着一个表只能包含一组相互独立的属性,从而避免了部分依赖的问题。
- 第三范式:在第二范式的基础上进一步规定,所有非主键列之间不能存在传递依赖,即一个非主键列不能依赖于另一个非主键列。如果存在这种情况,应该将相关字段拆分到单独的表中去。
总的来说,这些范式的核心目的是通过合理的设计来减少数据冗余,提高数据插入、更新和删除操作的效率,同时也使得数据库的结构更加清晰,便于维护和理解。在实际应用中,根据具体的业务需求和性能考虑,设计师可能会在这些范式的指导下做出适当的调整。
什么是mysq的三星索引
索引将相关的记录放到一起则获得一星;
如果索引中的数据顺序和查找中的排列顺序一致则获得二星;
如果索引中的列包含了查询中需要的全部列则获得三星;
mysql事务四大特性
- 原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败。
- 持久性:当事务提交或回滚后,数据库会持久化的保存数据。
- 隔离性:多个事务之间。相互独立。
- 一致性:事务操作前后,数据总量不变